240 发简信
IP属地:江苏
  • Const

    为什么类的构造方法用const修饰? 性能 提高性能 减少内存重复 对象共享编译时创建对象 并缓存进对象池 重用已存在的对象 避免内存浪费 避免不必要的构造函数调用直接返回缓...

  • Future& Isolate

    Future 非阻塞 等待结果时将控制权返回给事件循环 让UI继续执行 适用场景 网络请求 文件读写 异步数据查询 定时任务 这些通常是I/O密集型 不占用太多CPU Da...

  • H264对比H265

    压缩效率 H.265压缩效率提高了约 50% 同等视觉质量 可以将文件压缩更小 H.264同等比特率 文件更大或者图像质量更低 算法 H.265更大的预测块(64*64 像素...

  • 航测高清地图方案

    地面端 Android系统层集成Docker (前提)Docker 用于部署本地ODM 服务 拉取远程图片地面端通过图传方式拉取天空端图片(socket) 并记录每一张图片...

  • 无人机航测方案

    地面端 Android系统层集成Docker (前提)Docker 用于部署本地ODM 服务 拉取远程图片地面端通过图传方式拉取天空端图片(socket) 并记录每一张图片...

  • MediaCodec

    音视频编解码器 允许编码(压缩)和解码(解压)实现播放 录制 转码 创建MediaCodec 配置MediaCodec 处理输入数据 处理输出数据 销毁编码器

  • RTSP

    流媒体协议 三大类 传统视频流协议RTMP RTSP 基于 HTTP 的自适应协议 新技术SRT WebRTC TCP & UDP RTMP基于TCPRTSP基于UDP TC...

  • Dart 如何取消future

    三种方式 转Stream CancelableOperation需要依赖async 库 timeout没有上述两种方式灵活以及支持场景不丰富 有哪些场景?以下是我遇到的场景 ...

  • Protobuf

    用于结构化数据的序列化 高效 高效 性能优异使用二进制编码进行数据序列化 比基于文本的 xml json 更小 序列化和反序列化更快 内存占用低 可拓展性 前后兼容添加新字段...

  • 有何不可?

    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创...