ListView Lag في Android
سؤال
لدي عرض قائمة مخصصة في طلبي ، والذي يعرض صورة ونص. الصورة التي أحصل عليها من عنوان URL ، باستخدام الكود أدناه:
private static Drawable ImageOperations(Context ctx, String url,
String saveFilename) {
try {
InputStream is = (InputStream) fetch(url);
Drawable d = Drawable.createFromStream(is, "src");
return d;
} catch (MalformedURLException e) {
e.printStackTrace();
return null;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
public static Object fetch(String address) throws MalformedURLException,
IOException {
URL url = new URL(address);
Object content = url.getContent();
return content;
}
كل شيء يعمل بشكل مثالي ، باستثناء القائمة عرض التمرير ، فهو بطيء للغاية. إذا قمت بتعطيل الصور ، فإن سرعة التمرير السلسة ، ولكن مع تمكين الصورة ، فإنها تتخلف كثيرًا.
هل هناك أي طريقة ممكنة يمكنني تقليلها أو إزالة هذا المتأخر؟
شكرًا
المحلول
تحتاج إلى القيام بجلبك في الخلفية. أحد الأمثلة التي يمكنك استخدامها:http://android-developers.blogspot.com/2010/07/multithReading-for-performance.html
نصائح أخرى
استخدم هذه المكتبة لتنزيل الصور في الخلفية والتخزين المؤقت .. لن يضر واجهة المستخدمhttps://github.com/koush/urlimageviewhelper
هل أنت كسول تحميل صورك؟ انظر هذا السؤال للحصول على التفاصيل.
لا تنتمي إلى StackOverflow