一. 基本用法 1. 创建GestureDetector对象 GestureDetector有三个构造函数,如下: public GestureDetector(Context context, OnGestureLis…
分类:移动开发
Android中ViewGroup的布局layout过程
本文以FrameLayout的layout过程为例,来分析ViewGroup的layout过程 1. FrameLayout的onLayout代码如下: protected void onLayout(boolean c…
管理 Activity 生命周期
1. Acticity何时能获取到View的尺寸? Activity在onResume之后,就处于可见状态,但此时还不能获取到View的尺寸。在ActivityThread的handleResumeActivity的方法…
Zygote启动之native
Zygote进程是Android世界中的第一个进程,其父进程为init进程。Zygote是系统启动时吗,通过解析zygote.rc脚本来启动的,Zygote启动时会创建一个虚拟机,并注册了系统的JNI方法,考虑如下问题:…
Android播放器音乐信息乱码及其解决方法
使用电脑、手机登方式播放音乐时,经常会遇到音乐信息乱码的场景,涉及到的乱码信息包括歌曲名、专辑名、艺术家、流派等。 一. 基础知识 1. 常见编码格式 GBK GBK对汉字采用双字节编码,对英文、数字等采用单字节编码 G…
AndroidManifest.xml中applicaiton属性介绍
application支持的属性如下: 1. android:allowTaskReparenting=["true" | "false"] 当该Task下一次被带到前面时,应用程序定义的Activity是否可以从启动它…
Context、Application和ActivityThread
一. 关键类介绍 Context 应用程序环境的全局信息的接口,Context是抽象类,由Android系统实现。 ContextImpl Context中API的一个通用实现,它为Activity和其他的应用组件提供了…
SystemServer启动过程(native)
+++SystemServer启动过程(native) [TOC] SystemServer作为系统的一个核心的进程,在Zygote进程中被启动。SystemServer的启动过程可以分为两步,一是在Zygote中中通过…
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还会重命名类和方…