随笔分类 - Android
摘要:PKMS除了负责Android系统中Package安装、升级、卸载外,还有一个重要的职责,就是对外提供统一的信息查询功能,其中包括查询系统中匹配某Intent的Activity,BroadcastReceiver或Service等。一、Activity信息的管理前面在介绍PKMS扫描APK时提到,P...
阅读全文
摘要:PKMS和AMS一样是Android系统的核心服务,它主要负责系统中Package的管理,应用程序的安装、卸载、信息查询等工作。PKMS也是由system_server调用PKMS的main函数启动的: // Start the package manager. Sl...
阅读全文
摘要:Android将应用进程分为五大类,分别为Forground类、Visible类、Service类、Background类及Empty类。这五大类划分各有规则。Forground类进程该类进程重要性最高,想成为这一类进程需要满足下面的属性:1.含有一个前端的Activity(OnResume函数被调...
阅读全文
摘要:AMS的startActivity最终是调用的startActivityAndWait来处理启动请求的: 1 @Override 2 public final WaitResult startActivityAndWait( 3 IApplicationThread ...
阅读全文
摘要:AMS由system_server的ServerThread线程创建,在创建时有四个非常重要的过程:1.调用AMS的main函数,得到一个context对象1 context = ActivityManagerService.main(factoryTest);2.调用setSystemProces...
阅读全文
摘要:本文转自:http://hukai.me/android-performance-patterns/2015新年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App。课程专题不仅仅介绍了Android系统中有...
阅读全文
摘要:一般自定义view以达到某些效果,复写onDraw()方法就行了。当我们需要动态地响应用户的操作且能像Android自带View那样直接操作属性就很方便了,为了达到这个目的,我们就可以使用自定义view属性的方法来对我们的自定义view进行动态响应了。 为了实现自定义的view的自定义属性,应...
阅读全文
摘要:之前探讨了下高清图片加载的优化,高清图片的加载确实有很大几率会给用户带来卡顿的感觉。然而我们最容易感觉卡顿的是什么呢,含有图片的listview,一方面图片本身容易造成卡顿,而没有优化好的listview更是一场噩梦,我们不仅感觉listview显示的时候卡顿,而且滑动listview的时候更是...
阅读全文
摘要:Android应用中常常有加载图片资源的操作,随着Android手机平板的分辨率越来越高,图片资源越来越大,在加载高清图片的时候,由于瞬间产生大量的内存消耗,有时java GC来不及进行垃圾回收,就很容易发生OOM现象,怎么优化加载图片呢?本文简单介绍一下图片加载的优化。 方法一:Bitmap...
阅读全文
摘要:之前练习自定义ViewGroup时,用到了onInterceptTouchEvent方法,这个方法与onTouchEvent容易搞不清,特此分享一下这两个方法的使用方法。1、onInterceptTouchEvent()是用于处理事件,其返回值决定是否允许Touch事件继续向下(子控件)传递。返回T...
阅读全文
摘要:Android 3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三种动画模式在SDK中被称为view animation,drawable anima...
阅读全文
摘要:1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次3、...
阅读全文
摘要:在android应用开发中,打造良好的用户体验是非常重要的。而在用户体验中,界面的引导和跳转是值得深入研究的重要内容。在开发中,与界面跳转联系比较紧密的概念是Task(任务)和Back Stack(回退栈)。activity的启动模式会影响Task和Back Stack的状态,进而影响用户体验。...
阅读全文
摘要:Android程序主要是由java代码写成的,我们都知道java在内存回收方面有着自己的一套体系,完全不需要coder来做内存销毁,但是在编程的时候还是有内存泄露的事儿发生,这种情况一般是因为什么呢? 首先我们要明确的是java的内存自动回收机制是怎么一回事:在Java中,内存的分配是由程序完...
阅读全文
摘要:一、反编译:工作中apk的反编译用的较多,主要是通过Android反编译工具来实现:·dex2jar+jdgui·apktool二、防反编译: 代码混淆 这种方式,其实我不大愿意将他归类于防止反编译,从Android、Java编译原理上来说,针对自身代码做混淆等操作,必然防止不了反编译这个事实。...
阅读全文
摘要:获取system权限 上一篇随笔简单介绍了下Android权限的一些规则,我们发现很多事如果没有system权限基本上无法完成,那么如何让自己的应用获取system权限呢? 一般情况下,设定apk的权限,可在AndroidManifest.xml中添加android:sharedUser...
阅读全文
摘要:Android是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制,在这里简单介绍一下Linux文件系统的权限与Android中如何获取system权限。(一)linux文件系统上的权限 下面是一个典型的linux文件系统权限说明: -rwxr-x-...
阅读全文
摘要:Handler、Thread和Runnable在开发中频繁使用,很多新手都因为概念不清而头绪全无,在这我来简单得缕缕这三者的联系与区别。 Runnable是最简单的,它并没有什么包装,Android源码如下: 1 /** 2 * Represents a command that can b...
阅读全文
摘要:编写Android应用前端页面时,我们经常需要应用全屏显示达到更好的观感,方法如下:
阅读全文
摘要:Android控件繁杂,备份常用属性手册,以便查看。
阅读全文

浙公网安备 33010602011771号