位置: 编程技术 - 正文
推荐整理分享android:内存优化总结(android内存优化 简书),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:android内存优化三 简书,android内存优化三 简书,android内存优化内存泄露 简书,android内存优化内存泄露 简书,android内存优化工具,Android内存优化,android内存优化面试,android内存优化面试,内容如对您有帮助,希望把文章链接给更多的朋友!
android的内存优化对于大型的android项目来说,十分重要!今天就选几个常见的列举一下
1. Context的引用
在Activity和Fragment之外,使用Context的时候,尽量使用Application Context,在AndroidAnnotations中,也即是:
原因:应用的Context的生命周期很长,它与我们的app共存亡;我们尽量不要去hold Activity的Context,因为它的生命周期较短,否者,可能出现,Activity退出后,其Context依然被EBean的对象所持有。
2.Bitmap
Bitmap是android占用内存的大户,我们需要注意:
2.1 不在需要的Bitmap,要及时调用recycle()进行销毁。
2.2 设当的时候,使用Bitmap的时候,可以设置一定的采样率
3.Cursor
我们在读取第三方应用或者系统的ContentProvider的时候,通常会通过调用getContentResolver()的增删改查方法,获得Cursor对象,然后进行操作。操作完成后,务必要记得关掉!
4.ListView和GridView
ListView和GridView要进行View的复用,不懂复用的程序员,不是合格的android程序员。
5.自定义控件
我们自己经常通过View或者SurfaceView自定义自己的控件,通常会使用一个Thread,定期的去绘制,View通常使用postInvalidate()和onDraw()方法配合等等,注意:我们Override它的onDetachWindow方法的时候,要记得及时停止线程的绘制和资源的释放,特别是一些图片资源。
6.BroadcastReceiver一定要检查register和unregister的成对出现。
7.Handler使用的时候,要声明为static
8.我们在单例模式下的内中的java 容器,如List,Queue,Stack,Map等,在适当的时候,要及时调用clear方法,因为,如果这些容器依然保留那些不再适用的对象的引用,JVM会认为该对象依然被引用,不会得到释放,如果运用不恰当,会出现内存泄露。
..............................
内存的分析工具:
1.Eclipse中,打开DDMS视图,选中我们应用的包名,我们可以Dump出我们应用的内存占用情况
2.Eclipse的第三上插件MAT(内存分析工具)
3.adb命令
我们可以通过如下步骤:
a). adb shell
adb进入手机
b). ps
查看所有的进程和包名,注意,我们需要查看,我们的应用对用的包名和pid(进程ID)
c). dumpsys meminfo <应用对用的pid>
通过该命令来查看内存的占用情况。
如下图是chrome浏览器的内存占用情况:
我们可以不断的通过操作我们的应用,实时查看内存的占用情况,以定位问题。
未经允许不得用于商业目的
欢迎加入QQ群讨论:android开发联盟:
android:ListView的局部刷新 1.简介对于android中的ListView刷新机制,大多数的程序员都是很熟悉的,修改或者添加adapter中的数据源之后,然后调用notifyDataSetChanged()刷新ListView。在这
Android: Receiving Data from the Send Intent,将自己的app注册系统分享 当用户在系统相册,点击分享时,能通过我们自己的app,分享该图片。1.注册主要是在AndroidManifest.xml中,对activity注册Intent-filter,如:activityandroid:name=.u
androidannotations的background和UiThread配合使用参考 简介androidannotations在开发中的代码规范思考:(MVC思考)时间太紧,先贴代码:Activity的代码:packageedu.njupt.zhb.main;importorg.androidannotations.annotations.AfterVie
标签: android内存优化 简书
本文链接地址:https://www.jiuchutong.com/biancheng/371351.html 转载请保留说明!上一篇:android:View的setTag和getTag使用
友情链接: 武汉网站建设