码迷,mamicode.com
首页 > 移动开发 > 详细

Android的内存优化

时间:2015-06-10 22:42:35      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:android   内存   

腾讯公司在五月三十一日开展【腾讯Bugly移动开发者沙龙】大会,大会上面叶方正老师讲解了 关于Android的内存优化的问题,不过我感觉叶老师更多的站在了测试的角度上去解释了这一方面,叶老师给我们介绍了很多的工具去测试Android应用在各种情况下的内存占用情况,不过好像对我们开发的帮助并不是特别的大。我在这里总结叶老师所说的重点和自己对内存优化的一些理解,希望能够对大家有所帮助。


Android应用优化主要集中在内存和UI流畅度上,从内存占用与泄露、UI流畅度的帧数和响应时间到IO的阻塞式响应时间等。
内存优化

首先,为什么要优化内存?主要体现在OOM(Out of Memory)和导致UI不流畅上。对于手机来说,内存是一个非常稀缺的资源,即使是现在普遍拥有着很大内存的Android手机也不可避免。而造成内存泄露或者说引发OOM主要是因为以下四个原因:

  • 1、万恶的Static(通常见到在单例模式)
  • 2、大胖子bitmap位图
  • 3、多线程生命周期过长,导致本该释放的资源没有的到释放
  • 4、变量生成没有被关闭(I/O流,Cursor)

这些原因都会导致我们的应用程序内存被大量的占用,知道了原因之后自然也就有个处理的办法。

应用之中如果存在大量的static变量,如果这些static的变量在Activity被结束的时候得不到销毁,那么它就会一直占用着内存空间,特别是一些数组,如果这些静态变量非常多的话,那么它占用的内存就是一个非常可观的数目。那么解决办法是什么那?
1、除非这个变量会在整个应用之中被大量的重复使用
2、如果这个变量以后都不会再被使用到了,那么记得把他销毁掉

而对于bitmap位图我们可以通过BitmapFactory.Options的inSampleSize属性使他占用更小的空间。

第三个第四个问题,就只能自己记得释放他。比如在onStop()或者onDestory()方法里面把它滞空。

Android的内存优化

标签:android   内存   

原文地址:http://blog.csdn.net/u011068996/article/details/46444957

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!