Error with Loading a lot of image from url Android Studio

Viewed 303

I have a problem that I really can't solve for a while and I need your help.

In my application, I get via a site the url of an indeterminate number of images (it can have 10 or 20 depending on the chapter).

So I make a for loop that creates the same number of ImageViews as the image taken from the site and loads the images from their url (with Picasso) that I just found.

The problem is that my application suspends all my threads and only half of the images are loaded and only the last ones.

The problem did not occur until I generated the APK to export the project to my phone.

I tried everything: change the library to load the image, create the imageView with xml and not javacode, avoid the loop and put all the lines manually but nothing worked.

My code here:

package fr.loawk.mangascantrad;

import androidx.appcompat.app.AppCompatActivity;

import android.app.ActionBar;
import android.content.AsyncQueryHandler;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;

import com.squareup.picasso.Picasso;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.IOException;
import java.io.InputStream;

public class page_lecture extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_page_lecture);
        Intent mIntent = getIntent();
        int i = mIntent.getIntExtra("position", 0);
        String chapitres = mIntent.getStringExtra("chapter");
        try {
            chapitre(i, chapitres);
        } catch (IOException e) {
            Toast.makeText(getApplicationContext(), "Nous n'avons pas pu accéder aux images", Toast.LENGTH_LONG).show();
            Intent intent = new Intent(page_lecture.this, MainActivity.class);
            startActivity(intent);
            finish();
        }
    }


    public void chapitre(int i, String manwhaChap) throws IOException {
        class Chapitre extends AsyncTask<Void, Void, Void> {
            @Override
            protected Void doInBackground(Void... voids) {

                String manwhaTitle = DatabaseClient
                        .getInstance(getApplicationContext())
                        .getAppDatabase()
                        .manwhaDao()
                        .loadSingle(i);
                Log.d("F7UTI", "" + manwhaChap + manwhaTitle);
                String title = manwhaTitle.toLowerCase().replace(" ", "-");
                String chapUrl = manwhaChap.toLowerCase().replace(".", "-");

                if(manwhaChap.contains(" ")){
                    chapUrl = manwhaChap.toLowerCase().replace(" ", "-");
                }else if(manwhaChap.contains(" - FIN !")){
                    chapUrl = manwhaChap.toLowerCase().replace(" - FIN !", "-fin").replace(".","-");
                }
                if(title.contains("tales-of-demons-and-gods")){
                    title += "-scan-fr";
                }if(manwhaChap.contains("Vol")){
                    chapUrl = manwhaChap.toLowerCase().replace(".", "-").replace(" ", "-");
                }

                String url= "https://manga-scantrad.net/manga/"+title+"/"+chapUrl+"/";
                Document newChap = null;
                try {
                    newChap = (Document) Jsoup.connect(url).get();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                Elements chaps = newChap.select("div.page-break.no-gaps");
                DatabaseClient2.getInstance(getApplicationContext()).getAppDatabase2()
                        .chapterDao()
                        .nukeTable();

                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            LinearLayout myLayout = findViewById(R.id.Liner_layout);
                            ViewGroup.LayoutParams params = new ActionBar.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);

                            for(int j=0;j<=chaps.size()-1;j++) {
                                LinearLayout LinearLayout = (LinearLayout) findViewById(R.id.Liner_layout);
                                LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT);
                                ImageView imageView = new ImageView(getApplicationContext());
                                imageView.setAdjustViewBounds(true);
                                imageView.setCropToPadding(false);
                                LinearLayout.addView(imageView, layoutParams);

                                Picasso.get().load(chaps.get(j).select("img").first().absUrl("data-src")).noPlaceholder().tag("pas image").into(imageView);
                            }
                        }
                    });

                return null;
            }

            @Override
            protected void onPostExecute(Void aVoid) {
                super.onPostExecute(aVoid);
                return;
            }
        }

        Chapitre st = new Chapitre();
        st.execute();


    }

}

My errors


2022-03-17 23:18:44.659 30187-30238/fr.loawk.mangascantrad W/k.mangascantra: Accessing hidden method Lcom/android/org/conscrypt/AbstractConscryptSocket;->getAlpnSelectedProtocol()[B (greylist-max-q, reflection, denied)
2022-03-17 23:18:45.028 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 5.057ms
2022-03-17 23:18:45.290 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 11.955ms
2022-03-17 23:18:45.406 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 7.369ms
2022-03-17 23:18:45.764 30187-30232/fr.loawk.mangascantrad I/k.mangascantra: Waiting for a blocking GC Instrumentation
2022-03-17 23:18:45.973 30187-30207/fr.loawk.mangascantrad I/k.mangascantra: NativeAlloc concurrent copying GC freed 179282(9111KB) AllocSpace objects, 23(652KB) LOS objects, 49% free, 4217KB/8435KB, paused 11.954ms total 210.378ms
2022-03-17 23:18:45.973 30187-30232/fr.loawk.mangascantrad I/k.mangascantra: WaitForGcToComplete blocked Instrumentation on Instrumentation for 208.988ms
2022-03-17 23:18:45.986 30187-30210/fr.loawk.mangascantrad W/System: A resource failed to call close. 
2022-03-17 23:18:46.080 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 5.858ms
2022-03-17 23:18:46.131 30187-30232/fr.loawk.mangascantrad I/k.mangascantra: Waiting for a blocking GC Instrumentation
2022-03-17 23:18:46.249 30187-30207/fr.loawk.mangascantrad I/k.mangascantra: NativeAlloc concurrent copying GC freed 11827(654KB) AllocSpace objects, 3(60KB) LOS objects, 49% free, 3799KB/7599KB, paused 573us total 119.059ms
2022-03-17 23:18:46.249 30187-30232/fr.loawk.mangascantrad I/k.mangascantra: WaitForGcToComplete blocked Instrumentation on Instrumentation for 118.381ms
2022-03-17 23:18:46.341 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 5.245ms
2022-03-17 23:18:46.470 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 6.680ms
2022-03-17 23:18:46.524 30187-30232/fr.loawk.mangascantrad I/k.mangascantra: Waiting for a blocking GC Instrumentation
2022-03-17 23:18:46.595 30187-30232/fr.loawk.mangascantrad I/k.mangascantra: WaitForGcToComplete blocked Instrumentation on Instrumentation for 71.133ms
2022-03-17 23:18:48.021 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 9.859ms
2022-03-17 23:18:49.323 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 13.267ms
2022-03-17 23:18:49.668 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 7.308ms
2022-03-17 23:18:50.021 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 10.928ms
2022-03-17 23:18:50.047 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 16.346ms
2022-03-17 23:18:51.972 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 12.937ms
2022-03-17 23:18:53.926 30187-30232/fr.loawk.mangascantrad I/k.mangascantra: WaitForGcToComplete blocked Instrumentation on None for 17.053ms
2022-03-17 23:18:54.097 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 19.992ms
2022-03-17 23:18:54.192 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 11.175ms
2022-03-17 23:18:54.219 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 9.839ms
2022-03-17 23:18:55.632 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 5.185ms
2022-03-17 23:18:55.653 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 9.342ms
2022-03-17 23:19:10.795 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 30.719ms
2022-03-17 23:19:11.778 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 9.566ms
2022-03-17 23:19:13.789 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 17.807ms
2022-03-17 23:19:21.808 30187-30232/fr.loawk.mangascantrad I/k.mangascantra: WaitForGcToComplete blocked Instrumentation on None for 5.137ms
2022-03-17 23:20:11.802 30187-30232/fr.loawk.mangascantrad I/k.mangascantra: Waiting for a blocking GC Instrumentation
2022-03-17 23:20:42.411 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 6.928ms
2022-03-17 23:23:39.282 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 5.406ms
2022-03-17 23:27:30.048 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 5.597ms
2022-03-17 23:27:30.093 30187-30226/fr.loawk.mangascantrad I/k.mangascantra: Waiting for a blocking GC ProfileSaver
2022-03-17 23:27:30.100 30187-30232/fr.loawk.mangascantrad I/k.mangascantra: Waiting for a blocking GC Instrumentation
2022-03-17 23:27:30.758 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 8.190ms
2022-03-17 23:27:30.793 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 25.199ms
2022-03-17 23:27:32.909 30187-30232/fr.loawk.mangascantrad W/k.mangascantra: Suspending all threads took: 17.207ms
2022-03-17 23:28:24.061 30187-30232/fr.loawk.mangascantrad I/k.mangascantra: WaitForGcToComplete blocked Instrumentation on None for 5.169ms
0 Answers
Related