+++SystemServer启动过程(native) [TOC] SystemServer作为系统的一个核心的进程,在Zygote进程中被启动。SystemServer的启动过程可以分为两步,一是在Zygote中中通过…
分类:Android
Volley源码分析
Volly 官方文档: https://developer.android.com/training/volley/index.html Request设计 在Volly中,request的基类被设计为支持泛型的抽象类,…
常见的apk签名方式
未签名的apk安装时会出现INSTALL_PAISE_FAILED_NO_CERTIFICATIONS这个错误,解决方法简单:给apk重新签名就可以了。常见的签名方式有以下几种,不管哪种方式都需要keystore文件,k…
Zyote启动之framework
一. Zygote启动脚本 service zygote /system/bin/app_process64 -Xzygote /system/bin --zygote --start-system-server cla…
使用gradle减少apk大小
一. proguard ProGuard是一个Java工具,不仅可以减少APK文件大小,还可以在编译期间优化、混淆和预校验代码。通过应用的所有的代码路径,找到未被使用到的代码,并将其删除。ProGuard还会重命名类和方…
Android进程优先级和oom_adj
一. Linux进程优先级概念 Linux采用了两种不同的优先级范围: 第一种是nice值,它的范围是从-20到+19,默认值为0;越大的nice值意味着更低的优先级-nice似乎意味着你对系统中的其他进程更“有待”。相…
Android平台开源log工具-Logger
一. Logger介绍 Logger是一个Android平台下简单、优雅、功能强大的日志工具。github: Logger Logger提供: 线程信息 类信息 函数信息 格式化的json格式输出 优雅的新行”…
ViewManager接口分析
一. ViewManger接口定义 public interface ViewManager{ /** * 将view添加到一个Activity的window上 */ public void addView(View v…
Android事件传递流程-从ViewRootImpl到View
Step1. 从ViewRootImpl到DecorView 1.1 ViewRootImpl.dispatchInputEvent public void dispatchInputEvent(InputEvent e…
Android WatchDog原理分析
一 . WatchDog作用 SytemServer进程中运行将近一百种服务,是最有可能出现问题的进程,而且这些进程为系统提供核心的服务,一旦出现问题,将影响系统的正常运行。因此,有必要对SystemServer中的各种…
Android中View的测量measure过程
本文中,以自定义ViewGroup中重写onMeasure入口,来分析View的测量过程: 1.自定义ViewGroup中重写onMeasure /** * 计算所有ChildView的宽度和高度 然后根据ChildVi…
VelocityTracker用法
VelocityTracker是用来计算触摸事件速度的帮助类,主要用法如下: 获取对象: if(mTracker == null){ mTracker = VelocityTracker.obtain(); }else{…