一. Activity的四种launchMode 启动Activity时,可设置launchmode为以下四种方式之一,默认为standard模式。以下说明都有一个前提:所有的Activity的taskAffinity属…
分类:Android
Android常见技巧
1. TimingLogger工具使用方法 /** * adb shell setprop log.tag.TEST_TIME VERBOSE */ private void testTimeConsume(){ Tim…
Android性能分析工具Systrace
一. 基本操作 1.1 抓取和打开trace文件 可通过ADM或控制台脚本来抓取trace,利用ADM抓取trace文件的操作如下: 在AndroidStudio中点击:Tools -> Android ->…
apk反编译与二次打包
1. apktool用法 1.反编译apk /** * 将app.apk反编译,成功后将在当前文件夹生成一个名为app的文件夹 * apktool.bat:工具脚本 * apktool: * d:表示反编译 * apk.…
LeakCanary和常见内存泄漏场景
一. LeakCanary介绍 1. 介绍 LeakCanary是一个检测内存泄露的开源类库,以可视化的方式 轻松检测内存泄露,并且在出现内存泄漏时及时通知开发者,省去手工分析hprof的过程。 Github:LeakC…
GestureDetector用法
一. 基本用法 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和其他的应用组件提供了…