Android编程中一个共同的困难就是协调Activity的生命周期和长时间运行的任务(task),并且要避免可能的内存泄露。思考下面Activity的代码,在它启动的时候开启一个线程并循环执行任务。 1 /** 2 * 一个展示线程如何在配置变化中存活下来的例子(配置变化会导致创 3 * 建线程的... ...
分类:
移动开发 时间:
2016-10-01 22:27:20
阅读次数:
412
在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
1、基本语法 class class_name(base_class): base_class是它继承的父类 class_var def methods(self,args): statements 经典类、新式类 版本2和版本3的区别,3都是新式类 经典类和新式类的区别: 1)__slots__, ...
分类:
编程语言 时间:
2016-10-01 21:49:18
阅读次数:
374
Memory Monitor:
方便显示内存使用和GC情况;
快速定位卡顿是否和GC有关;
快速定位Crash是否和内存占用过高有关;
快速定位潜在的内存泄漏问题;
简单易用,但不能准确定位问题;
...
分类:
其他好文 时间:
2016-09-25 14:43:14
阅读次数:
212
Catalina优化#Uncommentthefollowinglinetomaketheumaskavailablewhenusingthe#org.apache.catalina.security.SecurityListener#JAVA_OPTS="$JAVA_OPTS-Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`"内存优化内容JAVA_OPTS=$JAVA_OPTS-server-Xms2048m-Xmx20..
分类:
其他好文 时间:
2016-09-23 21:58:10
阅读次数:
156
Android的内存优化是性能优化中很重要的一部分,而避免OOM又是内存优化中比较核心的一点,这是一篇关于内存优化中如何避免OOM的总结性概要文章,内容大多都是和OOM有关的实践总结概要。理解错误或是偏差的地方,还请多包涵指正,谢谢! (一)Android的内存管理机制 Google在Android ...
分类:
移动开发 时间:
2016-09-23 13:01:17
阅读次数:
272