logo头像

我有一个梦想

包体积优化

包体积优化

[TOC] 优化好处 包体积减小,易于升级 多市场渠道有体积限制,避免二次处理 apk安装时间减小 运行时内存占用小 磁盘空间占用小,odex二进制文件小。 APK组成及分析APK组成 assets: 开发目录下assets目录 l...

布局优化

布局优化

[TOC] 绘画原理Android的绘制主要是借助cpu和gpu结合刷新机制共同完成的 cpu:负责执行measure、layout等方法,计算显示内容 gpu:负责栅格化(将UI元素绘制在屏幕上) 绘制过程使用skia库(2D)...

设计模式

[TOC] 单例模式定义确保某个类中只有一个实例,而且子性实例化并向整个系统提供整个实例 例子饿汉:123456789public class Singleton { //在静态初始化器中创建单例实例,这段代码保证了线...

启动优化

启动优化

app启动过程 点击图标启动 LauncherApp通知AMS进行启动,LauncherActivity onPause AMS新建app进程,创建ActivityThread,创建ApplicationThread 通过Applic...

注解原理

注解原理

[TOC] 注解简析元注解:修饰注解的注解, @Target:注解的作用目标(修饰方法,类还是字段) @Retention:注解的生命周期 SOURCE:仅存在java源文件中,经过编译器后就丢弃,适用于一些检查行的操作,比如@Ov...

LiveData和ViewModel源码分析

LiveData和ViewModel源码分析

[TOC] ViewModelViewModel的定义ViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存。 历史方式的缺点: 对于简单的数据,Ac...

Android大厂面试题

京1: butterknife原理,R2文件? Handler异步消息,同步屏障?同步消息?looper.perpare()何时创建?message.obtain()? Vsync,垂直同步信号? UI滑动渲染优化? 内存泄漏?le...

面试指南

面试指南

[TOC] 框架篇EventBus简述EventBus的理解EventBus作为通信事件传递的总线,你无需控制值的传递,也无需通过广播等低效实现,通过EventBus在你需要发送的地方post信息,在你需要接收的地方接收信息处理即可,...

茶道

[TOC] 茶的分类根据茶的发酵程度去区分茶的种类,目前已知可以分为:绿茶、红茶、青茶、白茶、黄茶、黑茶。 绿茶发酵度:0%(未发酵) 品种高达3000多种 绿茶的茶汤多呈现翠绿色、黄绿色等等;茶汤清澈,滋味甘醇。较为出名的绿茶有:西...