转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前:本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。所以我将本文定义为一个工具类的文章,如果... ...
分类:
移动开发 时间:
2016-10-02 00:27:13
阅读次数:
221
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持!写在最前:本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。所以我将本文定义为一个工具类的文章,如果你... ...
分类:
移动开发 时间:
2016-10-02 00:17:37
阅读次数:
222
1.资源对象没关闭造成的内存泄漏描述:资源性对象比如(Cursor,File文件等)往往都用了一些缓冲,我们在不使用的时候,应该及时关闭它们,以便它们的缓冲及时回收内存。它们的缓冲不仅存在于java虚拟机内,还存在于java虚拟机外。如果我们仅仅是把它的引用设置为null,而不关闭它们,往往会造成内... ...
分类:
移动开发 时间:
2016-10-01 22:29:13
阅读次数:
461
Android编程中一个共同的困难就是协调Activity的生命周期和长时间运行的任务(task),并且要避免可能的内存泄露。思考下面Activity的代码,在它启动的时候开启一个线程并循环执行任务。 1 /** 2 * 一个展示线程如何在配置变化中存活下来的例子(配置变化会导致创 3 * 建线程的... ...
分类:
移动开发 时间:
2016-10-01 22:27:20
阅读次数:
412
在一个应用程序中,一般都会存在多个Activity,每个Activity对应着一个UI布局文件。一般来说,为了保持不同窗口之间的风格统一,在这些UI布局文件中,几乎肯定会用到很多相同的布局。如果我们在每个xml文件中都把相同的布局都重写一遍,一个是代码冗余,可读性很差;另一个是修改起来比较麻烦,对后... ...
分类:
移动开发 时间:
2016-10-01 22:25:37
阅读次数:
371
在Android应用里,最耗费内存的就是图片资源。而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常。所以,对于图片的内存优化,是Android应用开发中比较重要的内容。 1) 要及时回收Bitmap的内存Bitm... ...
分类:
移动开发 时间:
2016-10-01 22:24:23
阅读次数:
189
通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻辑,但是性能不一定是最优化的。一般来说,优秀的程序员在写完代码之后都会不断的对代码进行重构。重构的好处有很多,其中一点,就是对代码进行优化,提高软件的性能。下面我们就从几个方面来了解Android开发过程中的代码优化。 1... ...
分类:
移动开发 时间:
2016-10-01 22:23:36
阅读次数:
298
在Android应用开发过程中,屏幕上控件的布局代码和程序的逻辑代码通常是分开的。界面的布局代码是放在一个独立的xml文件中的,这个文件里面是树型组织的,控制着页面的布局。通常,在这个页面中会用到很多控件,控件会用到很多的资源。Android系统本身有很多的资源,包括各种各样的字符串、图片、动画、样... ...
分类:
移动开发 时间:
2016-10-01 22:21:54
阅读次数:
200
为什么会有OOMandroid系统app的每个进程或者说每个虚拟机(一个进程一个虚拟机)有最大内存限制(不同手机/版本限制不同), 如果应用申请的内存超过了限制, 系统就会抛出OOM异常. 这个整个设备的身影内存没关系. 较早的android系统一个虚拟机最多16M内存, 当一个app启动后, 如果... ...
分类:
移动开发 时间:
2016-10-01 22:13:41
阅读次数:
187
本篇博文主要讨论一下复杂界面中常用的一种技术——界面延迟加载技术。 有时候,我们的页面中可能会包含一些布局,这些布局默认是隐藏的,当用户触发了一定的操作之后,隐藏的布局才会显示出来。比如,我们有一个Activity用来显示好友的列表,当用户点击Menu中的“导入”以后,在当前的Activity中才会... ...
分类:
移动开发 时间:
2016-10-01 22:12:22
阅读次数:
209