240 发简信
IP属地:江苏
  • 有何不可?

    HashCode

    作用 提高查询效率常规的查询:一一的比较 但是仔细一想这样很耗性能 比如现在已经有一万个数据 添加一个进来需要对比一万次 那性能开销就太大了 原理 将数据根据特定的算法映射到...

  • 发送数据的时候会有20个字符的限制 那么接收数据的时候呢?好像没做分包处理

    Android BLE开发详解和FastBle源码解析

    因为自己的项目中有用到了蓝牙相关的功能,所以之前也断断续续地针对蓝牙通信尤其是BLE通信进行了一番探索,整理出了一个开源框架FastBle与各位分享经验。源码地址: http...

  • Java并发编程

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

  • JVM

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

  • Android卡顿优化

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

  • 120
    Android 启动优化

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

  • 120
    关于编译

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

  • Android Low Memory Killer

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

  • BlockCanary源码分析

    如何计算主线程中的方法耗时?看一下Looper的loop方法: 耗时的处理会发生在dispatchMessage中 可以替换掉mLogging 并记录开始和结束的时间记录开始...

  • 120
    LeakCanary源码分析

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

  • Effective Java 总结

    创建和销毁对象 静态工厂方法替代构造器1⃣️有名称2⃣️无需每次创建的时候创建一个新的对象 类似享元模式3⃣️ 可以返回原返回类型的任何自类型的对象4⃣️ 简洁 多个构造器参...

  • 组件化

    为什么组件化? 解耦 解决项目庞大 编译慢 怎么做? 思路:1.模块化项目 可按功能或者业务对项目进行划分重构2.动态控制模块依赖 模块化项目可以按照各自项目实际情况 不多做...

  • 关于SparseArray

    作用 用来替代key为int的HashMap 分析 源码中的相关分析: 对比HashMap 优势空间上 去除了hash值的存储空间时间上 少了自动装箱的过程 效率提高 劣势不...

  • Android多线程

    类别 AsyncTask底层实现:线程池+handler IntentService底层实现:HandlerThread 继承自普通service 具备异步线程的特性以及se...

  • Bitmap

    缓存 策略:二级缓存 LruCache 内存缓存 内部采用LinkdedHashMap强引用 DiskLruCache 硬盘缓存 以空间换时间 OOM 原因图片分辨率过大 导...

  • HashCode

    作用 提高查询效率常规的查询:一一的比较 但是仔细一想这样很耗性能 比如现在已经有一万个数据 添加一个进来需要对比一万次 那性能开销就太大了 原理 将数据根据特定的算法映射到...

  • Butterknife源码分析

    目标 实现原理 设计模式 分析 基于上面已知信息 接下来分析源码: ButterKnifeProcessor#init 支持的注解: ButterKnifeProcessor...

  • 120
    Android

    Activity Window View之间的关系 View怎么绘制到页面上?发起自ViewRoot 先后经历onMeasure onLayout onDraw Handle...