I have an adapter, ListView and data. I load data from a website showing on the screen. Scrolls and when I reach the end of the new data is loaded. everything works well. But when I scroll up trying to load image error output. and always differently.
protected String doInBackground(String... arg) {
if (arg[1].equals("video")) {
requestCode = 2;
Document doc;
try {
String text = "total: "+Runtime.getRuntime().totalMemory()+"\n"+
"freeMemory: "+Runtime.getRuntime().freeMemory()+"\n"+
"max: "+Runtime.getRuntime().maxMemory();
Log.d("=========", text);
linkVideo = null;
doc = Jsoup.connect(arg[0]).get();
title = doc.select("a[href]");
for (Element titles : title) {
if (titles.outerHtml().contains("Скачать (Загрузок:")) {
linkImage=titles.attr("abs:href");
Picasso p = Picasso.with(MyActivity.context);
linkVideo = p.load(linkImage).get();
Log.d("HZ",linkVideo.toString());
break;
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
error log
04-03 14:38:33.395: ERROR/AndroidRuntime(30812): FATAL EXCEPTION: AsyncTask #3
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:278)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
Caused by: java.lang.OutOfMemoryError
at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:493)
at com.squareup.picasso.NetworkBitmapHunter.decodeStream(NetworkBitmapHunter.java:108)
at com.squareup.picasso.NetworkBitmapHunter.decode(NetworkBitmapHunter.java:60)
at com.squareup.picasso.BitmapHunter.hunt(BitmapHunter.java:123)
at com.squareup.picasso.RequestCreator.get(RequestCreator.java:225)
at com.example.GoogleMemu.NewThread.doInBackground(NewThread.java:75)
at com.example.GoogleMemu.NewThread.doInBackground(NewThread.java:23)
at android.os.AsyncTask$2.call(AsyncTask.java:264)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
and
@Override
public void onBackPressed() {
super.onBackPressed();
b = null;
iv.setImageBitmap(null);
try {
iv.destroyDrawingCache();
}catch (Exception ex){ex.printStackTrace();}
iv=null;
try {
finish();
}catch (Exception ex){ex.printStackTrace();}
}