Эх сурвалжийг харах

HOTFIX: prevent OOM when scrolling Thumbnails

tobiasKaminsky 10 жил өмнө
parent
commit
6b0af82960

+ 16 - 11
src/com/owncloud/android/ui/adapter/FileListListAdapter.java

@@ -158,17 +158,22 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
             viewType = ViewType.GRID_ITEM;
         }
 
-        // Create View
-        switch (viewType){
-            case GRID_IMAGE:
-                view = inflator.inflate(R.layout.grid_image, null);
-                break;
-            case GRID_ITEM:
-                view = inflator.inflate(R.layout.grid_item, null);
-                break;
-            case LIST_ITEM:
-                view = inflator.inflate(R.layout.list_item, null);
-                break;
+        // create view only if differs, otherwise reuse
+        if (convertView == null || (convertView != null && convertView.getTag() != viewType)) {
+            switch (viewType) {
+                case GRID_IMAGE:
+                    view = inflator.inflate(R.layout.grid_image, null);
+                    view.setTag(ViewType.GRID_IMAGE);
+                    break;
+                case GRID_ITEM:
+                    view = inflator.inflate(R.layout.grid_item, null);
+                    view.setTag(ViewType.GRID_ITEM);
+                    break;
+                case LIST_ITEM:
+                    view = inflator.inflate(R.layout.list_item, null);
+                    view.setTag(ViewType.LIST_ITEM);
+                    break;
+            }
         }
 
         view.invalidate();