ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 低调看直播体育app软件下载 >> 移动开发 >> 学习笔记】Android性能优化----->内存优化

学习笔记】Android性能优化----->内存优化(2/2)

来源:网络整理     时间:2016-02-22     关键词:

本篇文章主要介绍了"学习笔记】Android性能优化----->内存优化",主要涉及到方面的内容,对于移动开发感兴趣的同学可以参考一下: 代码写久了,就得开始考虑性能及架构的事情了 内存优化: Android采用沙箱机制,每个应用所分配的内存大小是有限的,内存太低就会触发LMK----->...

  1. Process Stats
    可以通过"Setting-Developer options - Process Stats"(设置->开发者选项->进程统计信息)来开启该功能的界面,
    学习笔记】Android性能优化----->内存优化学习笔记】Android性能优化----->内存优化
    同时,也可以使用Dumpsys命令来获取这些信息,命令如下:
    adb shell sumpsys procstats
  2. Meminfo
    学习笔记】Android性能优化----->内存优化
  3. 内存回收
    Java有垃圾收集器线程(Garbage Collection Thread)来自动进行资源的管理。
    大大降低了程序开发人员对内存管理的繁琐工作。
    但也带来了很多问题,系统自动进行GC,但是何时进行却是开发者无法控制的,即使调用System.gc()方法,也只是建议系统进行GC,
    但系统是否采纳你的建议,那就不一定了。
    JVM虚拟机虽然能够自动控制GC,但是再强大的算法,也难免会存在部分对象忘记回收的现象发生,这就是造成内存泄露的原因。
  4. 内存优化实例
    Bitmap优化
    BitMap是造成内存占用过高甚至是OOM(Out of Memory)的最大威胁,下面给出一些使用Bitmap的小技巧
    1、使用适当分辨率和大小的图片
    由于Android系统在做资源适配的时候,会对不同分辨率文件夹下的图片进行缩放来适配相应的分辨率,如果图片分辨率与资源文件夹分辨率不匹配 或者 图片分辨率 太高,
    就会导致系统消耗更多的内存资源。同时,在适当的时候,应该显示合适大小的图片,
    例如在图片列表界面,可以使用图片的缩略图,而在详细图片的时候再显示原图;
    或者在对图像要求不高的地方,尽量降低图片的精度。
    2、及时回收内存
    一旦使用完Bitmap后,一定要及时使用bitmap.recycle()方法释放内存资源。自Android3.0之后,由于Bitmap被放置到了堆中,其内存由GC管理,就不需要进行释放了。
    3、使用图片缓存
    通过内存缓存(LruCache)和硬盘缓存(DiskLruCache),可以更好地使用Bitmap.
    代码优化:
    任何Java类,都将占用大约500字节的内存空间。创建一个类的实例会消耗大约15字节的内存。从代码的实现上,也可以对内存进行优化:
    1、对常量使用static修饰符
    2、使用静态方法,静态方法比普通方法提高15%左右的访问速度
    3、减少不必要的成员变量,这点在Android Lint工具上已经集成检测了,如果一个变量可以定义为局部变量,则会建议你不要定义为成员变量。
    4、减少不必要的对象,使用基础类型会比使用对象更加节省资源,同时更应该避免频繁创建短作用域的变量
    5、尽量不要使用枚举、少用迭代器
    6、对Curcor、Receiver、Sensor、File等对象,要非常注意对它们的创建、回收和注册、解注册
    7、避免使用IOC框架,IOC通常使用注解、反射来进行实现,虽然现在Java对反射的效率已经进行了很好的优化,但大量使用反射依然会带来性能的下降
    8、使用RenderScript、OpenGL来进行非常复杂的绘图操作
    9、使用SurfaceView来替代View进行大量、频繁的绘图操作
    10、尽量使用视图缓存,而不是每次都执行inflate()方法解析视图

    

   

  1. AndroidLint工具
    学习笔记】Android性能优化----->内存优化
    看代码编辑器右边的提示,哇塞,原来这么多,我得去琢磨修改下自己的代码了。。。

  

以上就介绍了学习笔记】Android性能优化----->内存优化,包括了方面的内容,希望对移动开发有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_331705_2.html

相关图片

相关文章