自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (3)
  • 收藏
  • 关注

原创 android 10 后台无法 startActivity 原理分析

前言Android 10 (API 级别 29) 及更高版本对后台应用可启动 Activity 的时间施加限制。这些限制有助于最大限度地减少对用户造成的中断(可以更省电),并且可以让用户更好地控制其屏幕上显示的内容。准备事项控制后台启动的关键函数为 ActivityStarter::shouldAbortBackgroundActivityStart原理分析根据以往咱们对 AMS 的认识,Activity的权限校验、安全校验等,都是放在 AMS 这一块来统一处理的。所以后台启动限制也不例外

2021-09-25 22:39:38 3169 1

原创 换肤、字体库使用出现的问题.md

换肤原理(android-skin-support)插件换肤需要设置layoutInflater的Factory2。调用LayoutInflater::setFactory2(每个LayoutInflater都需要设置一次)。因此在Activity onCreate的时候统一设置 setFactory2。换肤冲突(calligraphy)calligraphy 为 app 中已有的一套全局设置字体的框架。此框架会拦截 LayoutInflate (通过调用Activity的 attachBaseCon

2020-12-20 20:04:07 241

原创 ARouter思考与总结

问题问题一:如何做好模块间进行通讯?问题二:ARouter既然可以统筹管理Activity、Fragment。那么如果当前Activity属于jar包或者aar中Activity。我们该如何对其进行管理?总结问题一:做好模块间的通信,首先要做的事就是两个模块之间充分解耦,可是如何做到充分解耦呢?目前市面上大部分做法是:组件接口化。提供一个功能模块前,首先需要提供一组 api 出去。这个 api 就是我们常用的 interface 。这组api的定义需要放在一个公共模块,或者一个单独的模块中。这

2020-12-06 18:40:14 192

原创 ARouter原理分析

简单使用 //1 初始化 if (BuildConfig.DEBUG) { ARouter.openLog(); ARouter.openDebug(); } ARouter.init(this); //2 配置需要路由的目标 @Route(path = Constant.MAIN2) public class Main2Activity extends AppCompatActivity {} /

2020-08-01 23:07:57 321

原创 android 编译阶段根据打包命令将文件写进assets目录下

前言在日常开发中,我们可能接到一些很奇怪的第三方库的设计,比如在application初始化中,会加载指定assets目录中的文件,里面记录了一些ip地址等资源。这就导致了我们打debug包和release包的时候可能需要将不同的资源文件放入到assets目录中,可是每次打包之前更换文件,太不方便,并且不太利于其他人维护,所以就出现了动态将资源写入assets中的需求。正文想要将文件copy到assets目录中需要有两个重要步骤:获取当前打包命令的状态根据源文件目录文件copy到asse

2020-05-30 22:18:04 1736

原创 Retrofit 适配器源码详解

前言Retrofit适配器,通俗的理解就是我们写的Service接口中的返回值类型适配,常用的类型有Call,Observable。Retrofit的准备工作理解适配器前,我们先来了解一下retrofit的前期准备工作。 retrofit = new Retrofit.Builder() .client(client)//okhttpclient ...

2020-04-06 17:30:42 355

原创 Retrofit 之 泛型

Retrofit 通过泛型将字符串转成bean对象为了让大家快速理解其中原理,我这里写了一个简单的demo帮助大家理解首先是需要解析的字符串 private String jsonUser = "{\n" + " \"age\": 10,\n" + " \"name\": \"张三\"\n" + ...

2020-04-03 14:43:26 899

android基础文档

最全的android基础学习文档,pdf格式。手敲代码,带你入门

2018-11-18

jdk中文源码

jdk_1.6源码中文版。。

2018-11-18

android官方api离线版

android官方api完整版,解压即可以离线查看源码。 .

2018-11-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除