HOTFIX: prevent OOM when scrolling Thumbnails
authortobiasKaminsky <tobias@kaminsky.me>
Sun, 19 Apr 2015 09:04:32 +0000 (11:04 +0200)
committertobiasKaminsky <tobias@kaminsky.me>
Sun, 19 Apr 2015 09:04:32 +0000 (11:04 +0200)
src/com/owncloud/android/ui/adapter/FileListListAdapter.java

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