Nela Blog

崭新万物 正上升幻灭如明星

SharedPreferences源码分析

SharedPreferences源码分析 SharedPreferences 加载流程 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 @Override public SharedPreferences getSharedPreferences(File f...

ContentProvider

ContentProvider的创建过程

ContentProvider作用 解决进程间通信大文件传输问题 解决数据库URI增删改查问题 应用进程启动流程 一个应用程序启动,ActivityThread的main方法。 main方法会创建主线程looper,thread.attach attach会调用AMS的attachApplication 1 2 3 4 5 6 7 8 9 ...

Service

Service的启动流程和BinderService的流程

分析AMS中Service的启动流程 1 2 3 4 5 6 7 8 StartService的启动过程,也是从ContextImpl的startServiceCommon说起,然后内部会通过ServiceManager获取AMS,这是一个跨进程过程 ,它会调用ams的startService方法,当ams校验完是否需要create新进程后后,会通过ApplicationThread回调...

Activity

AMS的启动流程和Activity的启动流程

ActivityManagerService详解 简介 本文基于Android-R源码 从以下方面介绍AMS AMS的启动流程 AMS启动Activity的流程 AMS启动流程 在经过C层init启动后,SystemServer会开始启动一些引导服务,启动包括ActivityManagerService 。 其中调用了ActivityManagerService的setS...

沙盒模式文件适配

双进程沙盒模式文件业务适配

AndroidQ 沙盒模式文件适配 需求 Android系统升级至AndroidR强制开启沙盒模式,无法读取私有目录,无法读取操作sdcard下目录文件。 根据RCS业务需要,部分厂商采取双进程方式。而文件上传下载续传续载属于业务进程,文件展示在短信进程。故需要处理双进程文件读取问题。 沙盒模式 沙盒内创建的文件夹及文件会随着应用的卸载一并删除,目录为sdcard/Andro...

Android逆向工程-备份技术

非Root手机获取沙盒包内容

Android备份技术 备份工具 adb 1 2 3 adb backup [-f <file>] [<packages...> adb backup -f /Users/nela.cui/Desktop/123.ab com.android.messaging 解包工具 android-backup-extractor 1 2 3 4 5 unp...

图片加载方案

图片加载,图片缓存处理方案

简介 本文介绍了大图片加载的思路,介绍了图片缓存的实现思路。 图片加载方案 大图片未防止OOM,通常需要将图片裁剪压缩处理 图片压缩步骤 Bitmap尺寸压缩步骤: 通过采样率加载图片,主要的就是计算出合适的采样率,计算采样率的一般流程: 1 2 3 4 5 6 7 1.将BitmapFactory.Options的inJustDecodeBounds参数设置为true...

JNI与NDK整理

JNI-SO库生成集成开发流程

JNI与NDK整理 增加NDK开发库和逻辑 JNI 开发流程主要分为以下 6 步: 编写声明了 native 方法的 Java 类 将 Java 源代码编译成 class 字节码文件 用 javah -jni 命令生成.h头文件(javah 是 jdk 自带的一个命令,-jni 参数表示将 class 中用native 声明的函数生成 JNI 规则的函数) 用本地代码实现.h头文...

Android Studio-Flavors

使用Flavor添加多分分支渠道打包

使用Flavor添加多分支渠道打包 增加多版本控制 Flavors 使用,通过版本和渠道号,动态控制哪些代码模块需要带上。达到实现差异化构建 步骤1.gradle 中配置 // 定义两个纬度 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ```gradle flavorDimensions "apptype",...