外观
内存管理与性能优化
- ART 使用 AOT 和 JIT 混合编译的优缺点分别是什么?
- Dalvik 与 ART 在垃圾回收机制上的主要区别有哪些?
- 为什么 Android 应用的堆内存限制通常远小于物理内存?
- 如何理解匿名内部类持有外部 Activity 引用是常见的内存泄漏原因,请举例说明并给出解决方案?
- Handler 导致的内存泄漏是如何发生的?如何使用 WeakReference 避免?
- 为什么静态变量引用 Context 会导致内存泄漏?如何正确获取 Application Context?
- 如何根据屏幕密度和控件大小计算 Bitmap 的最优采样率(inSampleSize)?
- Glide 和 Picasso 在缓存策略和内存管理上有何本质区别?
- 什么是 GC 抖动?它对帧率的影响机制是什么?
- 如何通过减少临时对象创建来降低 GC 频率?请列举具体编码实践?
- 在 RecyclerView 滑动过程中,如何避免因频繁创建 ViewHolder 导致的卡顿?
- 如何使用 Perfetto 分析应用的主线程阻塞点?
- Memory Profiler 中的 Allocation Tracker 能帮助我们发现什么类型的问题?
- AsyncLayoutInflater 与同步 Inflate 有什么差别?
- 异步 Inflate 会打乱 Activity 生命周期吗?为什么页面分块出现?
- Perfetto 中 Actual Timeline 和 Actual Present Time 能代表首帧吗?
- 主线程卡住时,为什么有些系统转场动画还能继续?
- SDK 的 ContentProvider 拖慢启动,应该怎样优化?
- 如何证明一次启动优化确实有效?