OOM 大概 <10 页 三星 NS
11-27 18:28:38.074: E/dalvikvm-heap(30295): Out of memory on a 160016-byte allocation. 11-27 18:28:38.101: E/AndroidRuntime(30295): FATAL EXCEPTION: main 11-27 18:28:38.101: E/AndroidRuntime(30295): java.lang.OutOfMemoryError 11-27 18:28:38.101: E/AndroidRuntime(30295): at android.graphics.BitmapFactory.nativeDecodeStream(Native Method) 11-27 18:28:38.101: E/AndroidRuntime(30295): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:493) 11-27 18:28:38.101: E/AndroidRuntime(30295): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:549) 11-27 18:28:38.101: E/AndroidRuntime(30295): at com.dodola.tools.FileCache.getBmp(FileCache.java:159) 11-27 18:28:38.101: E/AndroidRuntime(30295): at com.dodola.views.InfosListAdapter.getView(InfosListAdapter.java:103) 11-27 18:28:38.101: E/AndroidRuntime(30295): at com.dodola.views.InfosListLayout.setAdapter(InfosListLayout.java:93) 11-27 18:28:38.101: E/AndroidRuntime(30295): at com.dodola.task.ContentFootTask.onPostExecute(ContentFootTask.java:50) 11-27 18:28:38.101: E/AndroidRuntime(30295): at com.dodola.base.TaskBase.onPostExecute(TaskBase.java:1) 11-27 18:28:38.101: E/AndroidRuntime(30295): at android.os.AsyncTask.finish(AsyncTask.java:602) 11-27 18:28:38.101: E/AndroidRuntime(30295): at android.os.AsyncTask.access$600(AsyncTask.java:156) 11-27 18:28:38.101: E/AndroidRuntime(30295): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615) 11-27 18:28:38.101: E/AndroidRuntime(30295): at android.os.Handler.dispatchMessage(Handler.java:99) 11-27 18:28:38.101: E/AndroidRuntime(30295): at android.os.Looper.loop(Looper.java:137) 11-27 18:28:38.101: E/AndroidRuntime(30295): at android.app.ActivityThread.main(ActivityThread.java:4424) 11-27 18:28:38.101: E/AndroidRuntime(30295): at java.lang.reflect.Method.invokeNative(Native Method) 11-27 18:28:38.101: E/AndroidRuntime(30295): at java.lang.reflect.Method.invoke(Method.java:511) 11-27 18:28:38.101: E/AndroidRuntime(30295): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 11-27 18:28:38.101: E/AndroidRuntime(30295): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 11-27 18:28:38.101: E/AndroidRuntime(30295): at dalvik.system.NativeStart.main(Native Method)
好的,大概是缓存方面的问题,我会尽快解决
前几天在模拟器上没任何问题,在kindfire上也没问题,今天到手机上就OOM了。HTC G8
是不是跟手机设置堆上分配的内存大小有关系
现在楼主dodola因为加载的imageUrl比较少,还会内存溢出,如果是在josn数据中的src(图片地址imageUrl)多的话,我测试的时候用了600条imageUrl,程序直接就进不去,提示线程池pool = 128/128,内存早溢出了,楼主可以看下
@shean 初始化的时候就加载600多张图片肯定会溢出的,加载那么多图片也没有意义,一屏幕显示的图片大概10张以内. 回收算法是在滚动的过程中执行的
楼主,可以看下我新开的一个issue,4.0的机器不管图片多少都不行的