Fatal signal 11 (SIGSEGV) at 0x000007c4 (code=1)
原代码是:
HashMap<String, Object> listItemMap = new HashMap<String, Object>();listItemMap.put("ItemImage", R.drawable.image1);listItemMap.put("ItemText", "introduction");this.listItem.add(listItemMap);listItemMap = new HashMap<String, Object>();listItemMap.put("ItemImage", R.drawable.image2);listItemMap.put("ItemText", "weather");this.listItem.add(listItemMap);listItemMap = new HashMap<String, Object>();listItemMap.put("ItemImage", R.drawable.image3);listItemMap.put("ItemText", "gallery");this.listItem.add(listItemMap);listItemMap = new HashMap<String, Object>();listItemMap.put("ItemImage", R.drawable.forward);listItemMap.put("ItemText", "testing");this.listItem.add(listItemMap);this.listView.setAdapter(this.listItemAdapter);
原来意图是在listview的每个item都添加一个imageview,我这里定义的listview只有4个item,但是没有注意到memory的问题,直接从drawable load进来
直接提示:
E/dalvikvm-heap(18508): Out of memory on a 2469776-byte allocation.
其中image1,2,3,4都是1024 * 768 占用内存比较大的图片。每张图片接近1M。
阅读了android的documents:
http://developer.android.com/training/displaying-bitmaps/index.html
里面有提到一些方法,但是因为屏幕上可以显示好多个listview的item,导致可以间接或者直接使用的接口:
decodeByteArray(), decodeFile()
, decodeResource()
, 或者recyle机制等对我这种情况都没用
或许只有我那么奇葩,用那么高分辨率的图片做item的图标,最终决定开大招:
用ps把图片分辨率改了,内存占用自然也少,每张图片只有几k。
或许你有其他好办法?欢迎指正!
注:引起:Fatal signal 11 (SIGSEGV) at 0x000007c4 (code=1) exception,OOM不是唯一原因。
这里讨论的是OOM。另外可以使用
Runtime rt = Runtime.getRuntime();
long maxMemory = rt.maxMemory();
Log.v("onCreate", "maxMemory:" + Long.toString(maxMemory));
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
int memoryClass = am.getMemoryClass();
Log.v("onCreate", "memoryClass:" + Integer.toString(memoryClass));
来查看设备的application heap max value。详细请看:
http://stackoverflow.com/questions/2630158/detect-application-heap-size-in-android/9428660#9428660
Fatal signal 11 (SIGSEGV) at 0x000007c4 (code=1)相关推荐
- Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)问题解决
Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)问题解决 参考文章: (1)Fatal signal 11 (SIGSEGV) at 0x0000000 ...
- Fatal signal 11 (SIGSEGV) at 0x00000048 (code=1)
Fatal signal 11 (SIGSEGV) at 0x00000048 (code=1) android 报错,资源格式不正确导致. 解决方案: 将资源打包成正确格式.例如Win32.Andr ...
- JNI:Fatal signal 11 (SIGSEGV) at 0x00000008 (code=1)错误的一点认识
最近做的一个东西需要jni去实现,对于一个我这样用惯了java,习惯了debug的人来说,用NDK,使用C/C++去编程是件很苦逼的事情,但是最苦逼的事情在于内存错误发生后如何排查,尤其是 Fatal ...
- Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 16169 (Thread-1035)
线程异常终止,找不到原因,最后发现这个错误是因为线程里面的一个方法调用了jni的方法,程序在jni里面出错异常终止,我的错误是传递的参数错误,jni那边空指针,这个错误的纠结的地方就是不会报什么错误和 ...
- A/libc:fatal signal 11(SIGSEGV).code 1, fault addr 0x0 in tid 26488 (VideoEncoder)
在调试Camera模块:发现相同的代码在厂家提供的环境里边编译.就是ok的,在我们的源码树中编译,将HAL库推进去后.就会signal 11退出. 一.现象 1 F/libc ( 4250): Fat ...
- android fatal signal 分析,android 内存异常报错,/libc: Fatal signal 11 (SIGSEGV) at 0x00
/libc: Fatal signal 11 (SIGSEGV) at 0x00000a61 (code=1), thread 18141 (FinalizerDaemon) 07-19 05:43: ...
- cn.sample.mnn.detect A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid
mnn报错: cn.sample.mnn.detect A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 ...
- JNI中Fatal signal 11 (SIGSEGV), code 1的错误.
这个错,搞了一天才搞定.还是自己对jni不熟. com.viking.myapplication A/libc: Fatal signal 11 (SIGSEGV), code 1, fault ad ...
- Fatal signal 11 (SIGSEGV), code 1, fault addr 0x10457e30d996b in tid 5676 (ndroid.settings)
FROM:http://blogold.chinaunix.net/u3/104564/showart_2091186.html 一.安装交叉编译器 1)交叉编译器使用CodeSourcery提供的 ...
最新文章
- R语言可视化包ggplot2绘制饼图(pie chart)实战
- 查看移动平均价的历史记录
- 结构数据类型的用法 值类型 c# 1231
- 中断触发流程三(中断控制器)
- mset redis_redis mset string 命令简介
- 史上首次无人车队集体婚礼,直男新郎给新娘の礼物:工业设计书
- 泰坦尼克数据集kaggle Titanic下载
- GOM引擎 mirserver服务端各文件夹注解
- matlab 画标准正态曲线,matlab中如何画标准正态分布的密度函数曲线?
- 如何扩展关键词,以及使用python多线程爬取bing搜索结果
- win10打开Android模拟器后电脑重启问题
- linux磁盘存储和文件管理进阶
- Vertica中的projections
- Excel技能之实用技巧,高手私藏
- opencv分离RGB三通道
- 卫星影像领域的深度学习数据和模型项目
- 【Plant Biotech. J.】MdBBX22–miR858– MdMYB9/11/12模块调节苹果皮中原花青素的生物合成
- C语言实现四元数的乘法(三维矢量、四元数以及旋转矢量与四元数相乘源码)
- 计算机网络性能指标:速率、带宽和吞吐量
- C++中的代码重用(1)