摘要: 本文转自:http://hukai.me/android-performance-patterns/2015新年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App。课程专题不仅仅介绍了Android系统中有... 阅读全文
posted @ 2015-04-28 14:05 Simba.Chen 阅读(219) 评论(0) 推荐(0) 编辑
摘要: Android应用中常常有加载图片资源的操作,随着Android手机平板的分辨率越来越高,图片资源越来越大,在加载高清图片的时候,由于瞬间产生大量的内存消耗,有时java GC来不及进行垃圾回收,就很容易发生OOM现象,怎么优化加载图片呢?本文简单介绍一下图片加载的优化。 方法一:Bitmap... 阅读全文
posted @ 2015-04-14 15:03 Simba.Chen 阅读(3938) 评论(0) 推荐(1) 编辑
摘要: PKMS除了负责Android系统中Package安装、升级、卸载外,还有一个重要的职责,就是对外提供统一的信息查询功能,其中包括查询系统中匹配某Intent的Activity,BroadcastReceiver或Service等。一、Activity信息的管理前面在介绍PKMS扫描APK时提到,P... 阅读全文
posted @ 2015-05-05 14:52 Simba.Chen 阅读(1628) 评论(0) 推荐(0) 编辑
摘要: PKMS和AMS一样是Android系统的核心服务,它主要负责系统中Package的管理,应用程序的安装、卸载、信息查询等工作。PKMS也是由system_server调用PKMS的main函数启动的: // Start the package manager. Sl... 阅读全文
posted @ 2015-05-04 16:38 Simba.Chen 阅读(1939) 评论(0) 推荐(0) 编辑
摘要: Android将应用进程分为五大类,分别为Forground类、Visible类、Service类、Background类及Empty类。这五大类划分各有规则。Forground类进程该类进程重要性最高,想成为这一类进程需要满足下面的属性:1.含有一个前端的Activity(OnResume函数被调... 阅读全文
posted @ 2015-05-04 14:16 Simba.Chen 阅读(1750) 评论(0) 推荐(0) 编辑
摘要: AMS的startActivity最终是调用的startActivityAndWait来处理启动请求的: 1 @Override 2 public final WaitResult startActivityAndWait( 3 IApplicationThread ... 阅读全文
posted @ 2015-04-30 12:26 Simba.Chen 阅读(1750) 评论(0) 推荐(0) 编辑
摘要: AMS由system_server的ServerThread线程创建,在创建时有四个非常重要的过程:1.调用AMS的main函数,得到一个context对象1 context = ActivityManagerService.main(factoryTest);2.调用setSystemProces... 阅读全文
posted @ 2015-04-29 21:51 Simba.Chen 阅读(1170) 评论(0) 推荐(0) 编辑
摘要: 一般自定义view以达到某些效果,复写onDraw()方法就行了。当我们需要动态地响应用户的操作且能像Android自带View那样直接操作属性就很方便了,为了达到这个目的,我们就可以使用自定义view属性的方法来对我们的自定义view进行动态响应了。 为了实现自定义的view的自定义属性,应... 阅读全文
posted @ 2015-04-24 15:04 Simba.Chen 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 之前探讨了下高清图片加载的优化,高清图片的加载确实有很大几率会给用户带来卡顿的感觉。然而我们最容易感觉卡顿的是什么呢,含有图片的listview,一方面图片本身容易造成卡顿,而没有优化好的listview更是一场噩梦,我们不仅感觉listview显示的时候卡顿,而且滑动listview的时候更是... 阅读全文
posted @ 2015-04-16 15:34 Simba.Chen 阅读(862) 评论(0) 推荐(0) 编辑
摘要: 之前练习自定义ViewGroup时,用到了onInterceptTouchEvent方法,这个方法与onTouchEvent容易搞不清,特此分享一下这两个方法的使用方法。1、onInterceptTouchEvent()是用于处理事件,其返回值决定是否允许Touch事件继续向下(子控件)传递。返回T... 阅读全文
posted @ 2015-04-13 16:20 Simba.Chen 阅读(539) 评论(0) 推荐(0) 编辑