Android学习之内存优化

  本文部分内容来自http://blog.csdn.net/a396901990/article/details/37914465,感谢博主的分享,知识很系统很全面。

    这两天在看Android的内存优化方面的知识,Android开发中最容易出现的就是内存泄露问题,因为Android内存是有限的,而且并不是很大,这就要求开发人员在开发客户端时要格外注意内存的优化,避免出现内存泄露。

那么内存泄露会引发哪些问题呢?

1、程序卡顿,响应速度慢(内存占用高时JVM虚拟机会频繁触发GC)

   2、程序莫名消失(当程序所占内存越大,它在后台的时候就越可能被干掉。反之内存占用越小,在后台存在的时间就越长)

3、直接崩溃(OutOfMemoryError)

    上面提到的博主,在他的博文中提出通过“5R”方法对Android的内存进行优化,“5R”即为:Reckon(计算)Reduce(减少)Reuse(重用)Recycle(回收)、Review(检查)。他提到的一些小技巧很值得开发人员们学习哦。

           Reckon(计算)我就不详述了,感兴趣的可以去上文中的博客中去看看。

      我来说一下我在开发中使用到的部分和想要学习的部分。

(这里是列表,上文中的博客中对这些都有详细的介绍哦,我这样列在这里是为了让自己思路更清晰,内容太多,我会继续分篇整理,做大神的搬运工.ps: 排版简直神烦)

        1、减少内存使用(Reduce

(1)图片处理

         (2)对常量使用static final修饰符

         (3)静态方法代替虚拟方法

        (4) 减少不必要的全局变量

        (5)避免创建不必要的对象

        (6)避免内部Getters/Setters

        (7)避免使用浮点数

        (8)使用实体类比接口好

        (9)谨慎使用枚举

        (10)注意for循环

         (11)使用类库

2、重用已有资源

         (1)缓存的使用(Cache)

        (2)池(Pool)

        (3)适配器(Adapter)

       3、回收闲置的内存

        (1)JAVA的垃圾回收机制

        (2)资源回收(实用型)

4、检查自己的代码

(1)UI检查(控件、布局优化)

         (2)设计检查(框架、逻辑优化)

         

时间: 2024-12-19 02:16:04

Android学习之内存优化的相关文章

Android学习之内存优化(一)—— 图片处理

在Android应用里,最耗费内存的就是图片资源.而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常.所以,对于图片的内存优化,是Android应用开发中比较重要的内容. Bitmap类的构造方法都是私有的,所以开发者不能直接new出一个Bitmap对象,只能通过BitmapFactory类的各种静态方法来实例化一个Bitmap. 对于图片,内存优化中有两个手段,一是减少图片本身所占的内存.二是缓存经常使用的图

android中的内存优化

内存泄露可以引发很多的问题: 1.程序卡顿,响应速度慢(内存占用高时JVM虚拟机会频繁触发GC) 2.莫名消失(当你的程序所占内存越大,它在后台的时候就越可能被干掉.反之内存占用越小,在后台存在的时间就越长) 3.直接崩溃(OutOfMemoryError) ANDROID内存面临的问题: 1.有限的堆内存,原始只有16M 2.内存大小消耗等根据设备,操作系统等级,屏幕尺寸的不同而不同 3.程序不能直接控制 4.支持后台多任务处理(multitasking) 5.运行在虚拟机之上 我主要通过以下

关于android性能,内存优化(转载)

原文地址:http://www.cnblogs.com/zyw-205520/archive/2013/02/17/2914190.html   转自(http://www.starming.com/index.php?action=plugin&v=wave&tpl=union&ac=viewgrouppost&gid=74&tid=20713&pg=1) 随着技术的发展,智能手机硬件配置越来越高,可是它和现在的PC相比,其运算能力,续航能力,存储空间等都

关于android性能,内存优化

随着技术的发展,智能手机硬件配置越来越高,可是它和现在的PC相比,其运算能力,续航能力,存储空间等都还是受到很大的限制,同时用户对手机的体验要 求远远高于PC的桌面应用程序.以上理由,足以需要开发人员更加专心去实现和优化你的代码了.选择合适的算法和数据结构永远是开发人员最先应该考虑的事 情.同时,我们应该时刻牢记,写出高效代码的两条基本的原则:(1)不要做不必要的事:(2)不要分配不必要的内存. 我从去年开始接触Android开发,以下结合自己的一点项目经验,同时参考了Google的优化文档和网

Redis学习(内存优化)

一.特殊编码: 自从Redis 2.2之后,很多数据类型都可以通过特殊编码的方式来进行存储空间的优化.其中,Hash.List和由Integer组成的Sets都可以通过该方式来优化存储结构,以便占用更少的空间,在有些情况下,可以省去9/10的空间. 这些特殊编码对于Redis的使用而言是完全透明的,事实上,它只是CPU和内存之间的一个交易而言.如果内存使用率方面高一些,那么在操作数据时消耗的CPU自然要多一些,反之亦然.在Redis中提供了一组配置参数用于设置与特殊编码相关的各种阈值,如:#如果

ANDROID内存优化(大汇总——全)

转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总.挑选.简化后整理而成. 所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知识,都欢迎阅读.(本文最后我会尽量列出所参考的文章). OOM: 内存泄露可以引发很多的问题:

Android内存优化大全(中)

转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总.挑选.简化后整理而成. 所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知识,都欢迎阅读.(本文最后我会尽量列出所参考的文章). OOM: 内存泄露可以引发很多的问题:

ANDROID内存优化(大汇总——全)(转载)

转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总.挑选.简化后整理而成. 所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知识,都欢迎阅读.(本文最后我会尽量列出所参考的文章). OOM: 内存泄露可以引发很多的问题:

Android中内存优化

CSDN博客不写,排名会下降,我知道了...... Android内存优化,设计到很多方面,参考别大神的博客,自己也总结一下..... 下面将通过两篇博客,浅析Android 中的内存优化问题.来张图抖索一下精神.... 本片博客将一下内存优化,主要参考工作经验和借鉴大牛的一些博客...... 一.什么是内存? 简单理解,Android内存包括运行内存RAM.和磁盘缓存ROM. 而内存优化,主要值运行内存的优化. RAM(random access memory): 寄存器(Registers)