- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于android使用bitmap的OOM心得和解决方案
关于android使用bitmap的OOM心得和解决方案android开发,从2010年开始学习到现在的独立完成一个app,这漫长的四年,已经经历了很多次bug的折磨,无数次的加班训练。然而,自以为自己已经比较了解android了,却最近在一个项目上,因为oom而折腾了一个周,回到原地,认识了自己的不足,感觉自己是如此的菜鸟呀。好了,不废话,大家在使用开发android的时候,很少会注意或者意识到释放内存的重要性,因为大家在使用过程中,涉及的图片资源不多,或者比较稳定,来回切换界面,图片也就那么几张或者使用的都是很小的图片,根本不会感觉到图片占用内存可能引发的潜在危机。如果你的程序中,使用了一下功能,你作为一个合格的android开发工程师,你有必要,注意oom的潜在危机1.界面比较多,并且很多界面的背景图片不一样;2.涉及到换肤功能,定义多种皮肤,皮肤的资源不是使用color 而是图片资源;以上两种情况,如果你不注意合理的释放内存,你将会为自己程序莫名其妙的崩溃付出代价的。我们在android程序中,无论是使用layout布局设置了背景还是使用了setBackgroundResource 设置背景,你都以为不需要释放内存?这绝对是一个错误的观念,绝对的错误。也许这一点的错误的认识,将会在大屏幕手机上,暴露出来你的oom的现象,特别是在三星的大屏幕手机,爆oom的几率更大。也许,大家在使用开发中,会注意这一点,使用了一下方式去解决释放内存(网上很多例子都是使用该方式去释放内存),比如:view sourceprint?01.View view = findViewById(R.id.page_bg);02.BitmapDrawable bitmapDrawable = (BitmapDrawable) view.getBackground();03.view.setBackgroundResource(0);04.bitmapDrawable.setCallback(null);05.Bitmap bitmap = bitmapDrawable.getBitmap();06.if(bitmap !=?null? !bitmap.isRecycled()){07.bitmap.recycle();08.bitmap =?null;09.}10.System.gc();从我们的测试效果来看看logcat 打印出来的结果view sourceprint?01.05-07?06:55:39.330: D/dalvikvm(6988): GC_FOR_ALLOC freed 4091K,?31% free 9715K/13936K, paused 44ms, total 45ms02.05-07?06:55:39.340: I/dalvikvm-heap(6988): Grow heap (frag?case) to?13.126MB?for?3686416-byte?allocation03.05-07?06:55:39.421: D/dalvikvm(6988): GC_CONCURRENT freed 1K,?5% free 13314K/13936K, paused 6ms+5ms, total 83ms04.05-07?06:55:39.600: D/dalvikvm(6988): GC_FOR_ALLOC freed 1K,?5% free 13314K/13936K, paused 44ms, total 44ms05.05-07?06:55:39.670: I/dalvikvm-heap(6988): Grow heap (frag?case) to?19.377MB?for?6554896-byte?allocation06.05-07?06:55:39.790: D/dalvikvm(6988): GC_CONCURRENT freed 0K,?4% free 19715K/20340K, paused 7ms+20ms, total 114ms07.05-07?06:55:40.011: I/System.out(6988): onCreate08.05-07?06:55:41.760: D/dalvikvm(6988): GC_EXPLICIT freed 10759K,?56% free 9063K/20340K, paused 4ms+7ms, total 111ms09.05-07?06:55:41.821: D/dalvikvm(6988): GC_EXPLICIT freed 1K,?56% free 9062K/20340K, paused 4ms+7ms, total 62ms10.05-07?06
您可能关注的文档
最近下载
- T∕CCAS 014.6-2022 水泥企业安全管理导则 第6部分:水泥工厂危险能量隔离管理.docx VIP
- 空调清洗突发事件及应急处置方案.docx VIP
- 基于SpringBoot的校园商城系统的设计与实现.doc VIP
- 产后出血及晚期产后出血.ppt.ppt VIP
- 20T107-2:城市轨道交通土建重点施工工艺一一矿山法 .docx VIP
- 机械设备润滑与维护操作手册.docx VIP
- DB33新乡贤联谊组织管理和服务规范.docx VIP
- DB33数字化项目综合绩效评价指标体系.docx VIP
- 2025年河南省信息技术会考题库资料模拟测试第12套带解析 .pdf VIP
- DB33办公用房配置管理规范.docx VIP
原创力文档


文档评论(0)