弱网模拟
Network Emulator Toolkit
Network Emulator Toolkit
有 3 升和 5 升两个杯子,水无限,怎么倒出来 4 升水呢?(货拉拉) 先把 5 升杯子倒满水水,再将 5 升杯子的水将 3 升杯子倒满,此时 5 升杯子有 2 升水,3 升杯子有 3 升水 再把 3 升水倒掉,把 5 升杯子的 2 升水导入 3 升杯子,此时 3 升杯子有 2 升水,5 升杯子空的 最后把 5 升杯子倒满水,然后再将 5 升杯子的水倒满 3 升杯子水(因为...
Rust Android 官方团队打造了一份 Rust 课程
GC GC 基础 什么是 GC? GC 英文全称为 Garbage Collection,即垃圾回收。Java 中的 GC 就是及时的把内存中不再使用的对象清除掉。 GC 回收的区域 堆区和方法区,这两块区域是线程共享的,随着 JVM 启动就分配了。程序计数器、虚拟机栈、本地线程栈是线程私有的,随着线程的消亡一起消亡了,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理...
将 sp 的老 key 改成新的 key,注意覆盖安装的情况 比如旧版本 key_first_install,改成新的 key_first_install_new特别是用于判断首次安装的情况:如果之前旧版本的 key 有值,表示非首次安装了,这时改成新的 key,就会导致覆盖安装也被认定为首次安装了;对数据统计有很大的影响
Android 中应用程序的状态表示 通过 int 值表示,通过 1 左移 n 位来表示不同的状态 int 值表示多种状态(最多 32 个状态) 1、Android 中应用程序的状态表示:一个 int 值有 32 位,Android 中用前 28 位,每一位代表一个功能 (一总状态) 2、如:flags = 21 flags & FLAG_SYSTEM != 0 说明了...
ARouter 源码学习 拦截器 带线程池的责任链 ARouter 门面模式
性能优化主要看 启动速度 apk 瘦身 编译优化 内存优化 什么抖音短视频播放如何秒开的? Ref 深入探索 Android 包体积优化(匠心制作-上) 深入探索 Android 包体积优化(匠心制作-下) 深入探索 Android 内存优化(炼狱级别-上) 深入探索 Android 内存优化(炼狱级别-下) 性能优化面试题 线程相关 如...
版本兼容 Crash 问题 Toast 问题 Toast 在 Android 7.x 崩溃 Typeface.create ArrayIndexOutOfBoundsException 错误堆栈 Caused by java.lang.ArrayIndexOutOfBoundsException: length=3; index=3 at android.util.Conta...
Room 基本用法 https://developer.android.com/topic/libraries/architecture/adding-components#room Room 介绍 Room 是对 SQLite 的抽象,允许访问 SQLite 数据库的全部功能。 Room 主要由三部分组成:Datebase、Entity、DAO Database 包含数据库...