概述
Arouter: 阿里开源的一个用于帮助 Android App 进行组件化改造的框架,支持模块间的路由、通信、解耦。具体使用参考官方文档 Arouter。典型应用:
- 从外部URL映射到内部页面,以及参数传递与解析
- 跨模块页面跳转,模块间解耦
- 拦截跳转过程,处理登陆、埋点等逻辑
- 跨模块API调用,通过控制反转来做组件解耦
这两篇后台启动 Activity 的文章的 Demo 工程见 Github, 如有问题欢迎提出。
前段时间调研 Android 后台启动 Activity 的方案,参考 实战|Android后台启动Activity实践之路 一文,当时的结论如下:
原生Android ROM
Android 原生 ROM 都能正常地从后台启动 Activity 界面,无论是 Android 9(直接启动) 还是 10 版本(借助全屏通知)。
接着上次后台启动 Activity 的需求,依照 实战|Android后台启动Activity实践之路 中的一些方法处理后,虽然在 Android Q 版本上还是有一些问题,但后台启动的能力算是基本完成了,后来我又解开了小米 ROM 的源码,找到了他们后台启动这一项权限的实现方式以及怎么绕开这项权限的方法,发现结果意外的简单..(这部分以后有机会单独写一篇文章)。
WebView是一个基于webkit引擎、展现web页面的控件。Android WebView 在低版本和高版本采用了不同的 webkit 版本内核,在 4.4 版本后使用 Chrome 内核。参考 WebView for Android。
Android 内存优化是性能优化中最重要的一个优化点之一,在进行内存优化之前,需要对 Android 和 Java 的内存分配和管理机制有一定的理解,这样在平时的工作中才能时刻注意到内存优化这个点,内存优化涉及到开发中的方方面面,如避免内存泄漏,合理使用数据结构,合理使用 Bitmap 位图等等,本文只列举出部分优化场景。关于分析内存的工具可以参考 Android性能优化之工具篇。
Android 图形显示系统的相关原理可参考 Android图形系统综述 中的系列文章,在了解了 Android 图形显示系统的工作原理之后,可以得出造成页面卡顿的根本原因可分为两种:
因此可以针对这两个原因来做相关的优化工作。