240 发简信
  • Java并发编程

    并发面试题 线程操作系统能够运算调度的最小单位 被包含在进程当中 进程运行的实际最小单位 进程与线程之间不同线程是进程的子集 不同的进程使用不同...

  • JVM

    JVM面试题 Java虚拟机是什么?运行环境 运行字节码 内存模型所有变量存储在主存中 每个线程有自己的工作内存 线程对变量的所有操作必须在工作...

  • Android卡顿优化

    造成卡顿的原因有很多 最终会反映到CPU时间上CPU时间分为两种:1⃣️用户时间执行用户态应用程序代码消耗的时间2⃣️系统时间执行内核态系统调用...

  • 120
    Android 启动优化

    优化工具 systrace + 函数插桩 可以看到系统的一些关键信息 比如GC System Server CPU调度可以通过下面指令查看收集支...

  • 120
    关于编译

    什么是编译 高级语言转化为机器或者虚拟机能识别的低级语言的过程对于Android 这个过程就是把Java或者Kotlin转变为Dalvik字节码...

  • Android Low Memory Killer

    作用 Android处于体验和性能上的考虑 app退到后台不会真正杀死进程 而是缓存起来 系统内存不足的时候会依据Low Memory Kill...

  • BlockCanary源码分析

    如何计算主线程中的方法耗时?看一下Looper的loop方法: 耗时的处理会发生在dispatchMessage中 可以替换掉mLogging ...

  • 120
    LeakCanary源码分析

    作用 监控内存泄露 基于MAT(内存分析工具) 分析 如何得到未回收对象?ReferenceQueue+WeakReference+手动调用GC...

  • Android内存优化

    内存产生的问题 异常 卡顿 频繁GC 物理内存不足触发 low memory killer 通过发送SIGQUIT 信号获得ANR日志 包含AN...