- 博客(78)
- 资源 (258)
- 收藏
- 关注
原创 【Android 内存优化】Bitmap 图像尺寸缩小 ( 设置 Options 参数 | inJustDecodeBounds | inSampleSize | 工具类实现 )
一、解码图片参数 inJustDecodeBounds、二、计算图片的缩小比例、三、设置图片缩小配置 inSampleSize、四、设置图片像素格式 inPreferredConfig、五、设置图片复用机制、六、Bitmap 图像尺寸缩小代码示例、1、图片缩小工具类、2、Activity 调用工具类代码、3、执行结果
2020-06-30 22:46:34 2990
原创 【Android 内存优化】Bitmap 内存占用计算 ( Bitmap 图片内存占用分析 | Bitmap 内存占用计算 | Bitmap 不同像素密度间的转换 )
一、Bitmap 内存占用、二、Bitmap 内存占用计算示例、三、Bitmap 内存占用与像素密度、四、Bitmap 内存占用与像素密度示例、
2020-06-29 21:46:06 1609
原创 【Android 内存优化】Android 工程中使用 libjpeg-turbo 压缩图片 ( 初始化压缩对象 | 打开文件 | 设置压缩参数 | 写入压缩图像数据 | 完成压缩 | 释放资源 )
一、使用 libjpeg-turbo 压缩图片流程、二、初始化 JPEG 压缩对象、三、打开文件、四、设置压缩参数、五、开始压缩、六、循环写入压缩数据、七、完成图片压缩及收尾、八、libjpeg-turbo 图片压缩案例 ( 官方示例 )、九、libjpeg-turbo 压缩图片代码示例、
2020-06-29 15:06:09 1002
原创 【Android 内存优化】Android 工程中使用 libjpeg-turbo 压缩图片 ( JNI 传递 Bitmap | 获取位图信息 | 获取图像数据 | 图像数据过滤 | 释放资源 )
一、Bitmap 图像数据处理、二、Java 层 Bitmap 对象转为 JNI 层 bitmap 对象、三、获取 bitmap 中的图像数据、四、过滤 bitmap 中的图像数据 ( 获取 RGB 数据 剔除 A 通道数据 )、五、释放资源、六、Bitmap 图像数据处理
2020-06-29 12:45:50 1304 1
原创 【Android 内存优化】libjpeg-turbo 函数库交叉编译与使用 ( 交叉编译脚本编写 | 函数库头文件拷贝 | 构建脚本配置 | Android Studio 测试函数库 )
一、交叉编译 Shell 脚本参考、二、NDK r16b 版本配置、三、libjpeg-turbo 交叉编译 Shell 脚本、四、执行 libjpeg-turbo 交叉编译 Shell 脚本 开始编译、五、拷贝函数库头文件到 Android Studio、六、Android Studio 工程配置 CMakeLists.txt 构建脚本、七、Android Studio 工程配置 build.gradle 构建脚本、八、测试 libjpeg-turbo 函数库
2020-06-28 22:15:53 1640 3
原创 【Android 内存优化】libjpeg-turbo 函数库交叉编译 ( libjpeg-turbo 函数库下载 | libjpeg-turbo 编译文档 | 环境准备 | NASM 安装 )
一、 libjpeg-turbo 函数库下载与解压、 二、 libjpeg-turbo 编译文档、 三、 编译前环境准备、 四、 安装 NASM 汇编工具、 1、 下载 NASM 汇编工具、 2、 拷贝解压 NASM 源码、 3、 编译安装 nasm-2.15、 五、 编译 Android 平台使用的 libjpeg-turbo 函数库参考 ( 官方提供 | 仅供参考 )、
2020-06-28 19:02:41 1397
原创 【Android 内存优化】Android 原生 API 图片压缩原理 ( 哈夫曼编码开关 | 哈夫曼编码原理 | libjpeg-turbo 函数库 )
一、 哈夫曼编码开关、 二、 哈夫曼编码原理、 三、 libjpeg-turbo 函数库、 四、 libjpeg-turbo 函数库下载
2020-06-28 11:37:11 846
原创 【Android 内存优化】Android 原生 API 图片压缩原理 ( Bitmap_compress 方法解析 | Skia 二维图形库 | libjpeg 函数库 | libpng 函数库 )
一、 图片质量压缩方法、二、 Skia 二维图形库、三、 libjpeg、libpng 函数库引入
2020-06-27 22:45:13 1007
原创 【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )
一、 图片质量压缩方法、 二、 查找对应的 Native 方法源码、 三、 分析 Bitmap.cpp 中动态注册 Native 方法
2020-06-27 17:40:34 1467
原创 【Android 内存优化】Android 原生 API 图片压缩代码示例 ( PNG 格式压缩 | JPEG 格式压缩 | WEBP 格式压缩 | 动态权限申请 | Android10 存储策略 )
一、 图片质量压缩、 二、 图片尺寸压缩、 三、 Android 10 文件访问、 四、 完整源码示例
2020-06-27 14:15:48 924
原创 【Android 内存优化】图片文件压缩 ( Android 原生 API 提供的图片压缩功能能 | 图片质量压缩 | 图片尺寸压缩 )
一、 图片压缩、二、 图片文件压缩类型、三、 Android 原生 API 提供的质量压缩、四、 Android 原生 API 提供的尺寸压缩
2020-06-27 13:33:26 1117
原创 【Android 内存优化】内存抖动 ( 垃圾回收算法总结 | 分代收集算法补充 | 内存抖动排查 | 内存抖动操作 | 集合选择 )
一、 垃圾回收算法总结、 二、 分代收集算法补充、 三、 查看 Java 虚拟机、 四、 获取 Android 应用可使用最大内存、 五、 内存抖动标志、 六、 排查内存抖动、 七、 常见的造成内存抖动操作、 八、 从内存优化角度选择集合
2020-06-27 08:46:49 896
原创 【Android 内存优化】垃圾回收算法 ( 分代收集算法 | Serial 收集器 | ParNew 收集器 | Parallel Scavenge 收集器 | CMS 并发标记清除收集器 )
一、 分代收集算法 ( 当前主流 )、 二、 垃圾回收器 / 收集器 ( GC )、 三、 串行收集器 ( Serial )、 四、 ParNew 收集器、 五、 Parallel Scavenge 收集器、 六、 CMS ( Concurrent Mark Sweep ) 并发标记清除收集器 ( 重点 )
2020-06-26 19:44:20 1609
原创 【Android 内存优化】垃圾回收算法 ( 内存优化总结 | 常见的内存泄漏场景 | GC 算法 | 标记清除算法 | 复制算法 | 标记压缩算法 )
一、 内存优化总结、 二、 常见的内存泄漏场景、 三、 内存回收算法、 四、 标记-清除算法 ( mark-sweep )、 五、 复制算法、 六、 标记-压缩算法
2020-06-26 09:49:33 904
原创 【Android 内存优化】使用 Memory Analyzer ( MAT ) 工具分析内存 ( MAT 工具使用 | 最大对象 | 类实例个数 | 引用与被引用 | GC Roots 最短链 )
一、 内存中最大的对象、 二、 查看每个类的对象实例的个数、 三、 查看对象的引用与被引用、 四、 查看对象到 GC Roots 的最短距离、 1、 选择 Merge Shortest Paths to GC Roots、 2、 GC Roots 与 GC 垃圾回收、 3、 Merge Shortest Paths to GC Roots 各个选项简介、 4、 查看对象强引用引用链
2020-06-25 20:11:47 2088
原创 【Android 内存优化】使用 Memory Analyzer ( MAT ) 工具分析内存 ( hprof 文件转换 | MAT 工具下载 | MAT 工具使用 )
一、 hprof 文件转换、 二、 下载 Memory Analyzer ( MAT ) 工具、 三、 Memory Analyzer ( MAT ) 工具打开内存快照、
2020-06-25 17:12:39 5347 1
原创 【Android 内存优化】Android Profiler 工具常用功能 ( 监测内存 | 内存快照 )
一、 内存泄漏排查 ( Android Profiler 工具 )、 二、 Android Profiler 内存监测相关功能、 三、内存快照分析、
2020-06-25 15:13:27 3184
原创 【Android 内存优化】Java 引用类型 ( 强引用 | 软引用 | 弱引用 | 虚引用 )
一、 Java 引用类型 ( 强、软、弱、虚 )、 二、 软引用代码示例、 三、 弱引用代码示例、
2020-06-25 12:27:30 532
原创 【Android 内存优化】Java 内存模型 ( Java 虚拟机内存模型 | 线程私有区 | 共享数据区 | 内存回收算法 | 引用计数 | 可达性分析 )
一、 Java 虚拟机内存模型、 二、 程序计数器 ( 线程私有区 )、 三、 虚拟机栈 ( 线程私有区 )、 四、 本地方法栈 ( 线程私有区 )、 五、 方法区 ( 共享数据区 )、 1. 方法区、 2. 运行时常量池、 六、 堆区 ( 共享数据区 )、 七、 内存溢出类型、 八、 引用计数算法回收内存、 九、 可达性分析算法回收内存
2020-06-25 09:33:43 736
原创 【Android 性能优化】布局渲染优化 ( CPU 渲染优化 | 减少布局的嵌套 | 测量布局绘制时间 | OnFrameMetricsAvailableListener | 布局渲染优化总结 )
一、 减少布局嵌套、二、 布局渲染时间测量、1. FrameMetrics 使用流程、2. FrameMetrics 参数解析、3. FrameMetrics 代码示例、三、 布局渲染优化总结
2020-06-24 13:09:46 2757 1
原创 【Android 性能优化】布局渲染优化 ( GPU 过度绘制优化总结 | CPU 渲染过程 | Layout Inspector 工具 | View Tree 分析 | 布局组件层级分析 )
一、 GPU 过度绘制优化总结、 二、 CPU 渲染过程、 三、 CPU 渲染性能调试工具 Layout Inspector、 四、 Layout Inspector 组件树 DecorView 分析、 五、 实际的界面 UI 布局组件层级分析、
2020-06-24 08:06:15 1213
原创 【Android 性能优化】布局渲染优化 ( 过渡绘制 | 背景设置产生的过度绘制 | Android 系统的渲染优化 | 自定义布局渲染优化 )
一、 背景设置产生的过度绘制、 二、 Android 系统的渲染优化、 1. 透明组件数据传递、 2. GPU 存储机制、 3. Android 7.0 之后的优化机制、 三、 自定义布局渲染优化、
2020-06-23 22:08:45 1064 2
原创 【Android 性能优化】布局渲染优化 ( 过渡绘制 | 自定义控件过渡绘制 | 布局文件层次深 | GPU 过渡绘制调试工具 | 背景过度绘制 )
一、 过度绘制、 二、 过度绘制两种情况 ( 自定义控件 | 布局文件 )、 三、 过度绘制调试、 1. 打开过渡绘制调试工具、 2. 过渡绘制调试中不同颜色的含义、 3. 过渡渲染示例、 四、 背景设置导致的过度绘制、
2020-06-23 12:50:36 835
原创 【Android 性能优化】布局渲染优化 ( CPU 与 GPU 架构分析 | 安卓布局显示流程 | 视觉与帧率分析 | 渲染超时卡顿分析 | 渲染过程与优化 )
一、 CPU 在图形处理领域的情况、 二、 CPU 与 GPU 架构对比、 三、 Android 布局显示到屏幕流程、 四、 人眼的视觉相关分析、 五、 渲染超时卡顿分析、 六、 渲染过程与优化
2020-06-23 09:55:12 1659
原创 【Android 性能优化】应用启动优化 ( 阶段总结 | Trace 文件分析及解决方案 | 源码分析梳理 | 设置主题的方案总结 ) ★
一、 常用的耗时方法优化方案 ( 重要 )、二、 源码分析梳理、1. 应用启动时间计算相关源码分析、2. Launcher 应用中启动 Android 应用流程、三、 启动白屏解决方案
2020-06-22 20:15:35 741
原创 【Android 性能优化】应用启动优化 ( Trace 文件分析 | 结合代码分析 Trace 文件 )
一、 Trace 文件查看、 二、 结合代码分析 Trace 文件
2020-06-22 15:14:40 7814 1
原创 【Android 性能优化】应用启动优化 ( 方法追踪代码模板 | 示例项目 | SD 卡访问权限 | 示例代码 | 获取 Trace 文件 | Android Studio 查看文件)
一、 方法追踪代码模板、 二、 追踪 Launch 页面的 onCreate 方法执行情况、 1. 示例项目、 2. SD 卡访问权限问题 ( 动态权限申请 )、 3. MainActivity onCreate 方法追踪及动态权限申请、 三、 查看 SD 卡根目录的 trace 文件、 四、 Android Studio 中分析该 Trace 文件、
2020-06-22 10:57:37 1660
原创 【Android 性能优化】应用启动优化 ( 启动优化项目 | 界面启动时间 | 启动优化项目 | 方法追踪 MethodTracing )
一、 界面启动时间、 二、 启动优化项目、 三、 方法追踪、
2020-06-21 23:54:31 867
原创 【Android 应用开发】Activity 返回堆栈管理 ( 栈内复用模式 singleTask | 单实例模式 singleInstance )
一、 singleTask ( 栈内复用模式 ) Activity 实例在返回堆栈中的位置、 二、 singleTask ( 栈内复用模式 ) Activity 启动的五种情况、 三、 singleTask 栈内复用模式 任务栈处理 ( 前台任务栈 | 后台任务栈 )、 四、 singleTask 模式 存在 Activity 实例的任务栈处理、 五、 FLAG_ACTIVITY_BROUGHT_TO_FRONT 常量解析、 六、 singleTask 栈内复用模式回退键行为、
2020-06-21 21:39:58 2789
原创 【Android 应用开发】Activity 返回堆栈管理 ( 阶段总结 | 任务栈管理 | 返回堆栈 | 清除返回堆栈 | 亲和性 | 启动模式补充 | standard | singleTop )
一、 安卓应用任务栈管理、 二、 任务与返回堆栈回顾、 三、 返回堆栈清除、 四、 关于亲和性回顾、 五、 Activity 启动模式 LaunchMode 补充 ( standard | singleTop )
2020-06-21 19:16:16 833
原创 【Android 性能优化】应用启动优化 ( 安卓应用启动分析 | ActivityThread 主函数分析 | 应用初始化 | 启动优化项目 )
一、 应用入口函数 ActivityThread 主函数 main、 二、 ActivityThread 类 attach 方法 ( 应用加载 )、 三、 ActivityThread 类 handleBindApplication 方法 ( 应用创建 )、 四、 启动优化项目
2020-06-21 08:36:54 931
原创 【Android 性能优化】应用启动优化 ( 安卓应用启动分析 | Launcher 应用启用普通安卓应用 | 应用进程分析 )
一、 Launcher 应用 startActivitySafely 方法分析、 二、 Launcher 中的 startActivity(View v, Intent intent, Object tag) 方法分析、 三、 Android 应用进程分析
2020-06-20 21:25:13 777
原创 【Android 性能优化】应用启动优化 ( 安卓应用启动分析 | Launcher 应用简介 | Launcher 应用源码简介 | Launcher 应用快捷方式图标点击方法分析 )
一、 Launcher 应用简介、 二、 Launcher 应用源码简介、 三、 Launcher 图标点击方法分析
2020-06-20 18:25:29 1779
原创 【Android 性能优化】应用启动优化 ( 主题背景图片设置 | 设置透明主题背景 | 设置应用启动主题背景、启动后恢复主题 )
一、 设置图片主题背景、 二、 设置透明主题背景、 三、 设置应用启动主题背景、启动后恢复主题、
2020-06-20 14:12:45 2826
原创 【Android 性能优化】应用启动优化 ( 启动白屏问题 | 应用启动时间测量 | 冷启动 | 热启动 | 应用启动时间计算源码分析 )
一、 APP 启动白屏 / 黑屏、 二、 APP 启动速度测量、 1. 通过 Logcat 日志查看应用启动时间、 2. 通过 adb 命令查看界面启动时间、 三、 APP 冷启动与热启动、 四、 APP 启动时间计算
2020-06-20 10:47:53 1645
原创 【Android RTMP】安卓直播推流总结 ( 直播服务器搭建 | NV21 图像采集 | H.264 视频编码 | PCM 音频采集 | AAC 音频编码 | RTMP 包封装推流 )
一、 安卓直播推流专栏博客总结、二、 相关资源介绍、三、 GitHub 源码地址、四、 整体 Android 直播推流数据到服务器并观看直播演示过程
2020-06-19 22:44:43 2340 4
原创 【Android RTMP】音频数据采集编码 ( FAAC 编码器编码 AAC 音频采样数据 | 封装 RTMP 音频数据头 | 设置 AAC 音频数据类型 | 封装 RTMP 数据包 )
一、 FAAC 编码器编码 AAC 音频采样数据、 二、 封装 RTMP 音频数据头、 三、 封装 RTMP 音频数据类型、 四、 拷贝 AAC 音频数据到 RTMPPacket 数据包中、 五、 设置数据包大小、 六、 设置绝对时间、数据类型、RTMP 通道、头类型、 七、 FAAC 编码器编码代码示例
2020-06-19 09:05:40 1101
原创 【Android RTMP】音频数据采集编码 ( FAAC 编码器编码 AAC 音频解码信息 | 封装 RTMP 音频数据头 | 设置 AAC 音频数据类型 | 封装 RTMP 数据包 )
一、 FAAC 编码器编码 AAC 音频解码信息、二、 封装 RTMP 音频数据头、三、 封装 RTMP 音频数据类型、四、 拷贝 AAC 音频数据到 RTMPPacket 数据包中、五、 设置数据包大小、六、 设置绝对时间、数据类型、RTMP 通道、头类型、七、 FAAC 编码器编码代码示例
2020-06-18 22:01:59 1211
原创 【Android RTMP】音频数据采集编码 ( FAAC 音频编码参数设置 | FAAC 编码器创建 | 获取编码器参数 | 设置 AAC 编码规格 | 设置编码器输入输出参数 )
一、 头文件、成员变量准备、 二、 创建 FAAC 编码器、 三、 获取并设置 FAAC 编码器参数、 四、 设置 FAAC 编码器编码标准、 五、 设置 FAAC 编码器 AAC 编码规格、 六、 设置 FAAC 编码器输入、输出格式、 七、 FAAC 设置音频编码参数代码、
2020-06-18 14:38:08 1514
原创 【Android RTMP】音频数据采集编码 ( AAC 音频格式解析 | FLV 音频数据标签解析 | AAC 音频数据标签头 | 音频解码配置信息 )
一、 AAC 音频格式解析、二、 FLV 音频数据标签解析、1. 分析 FLV 格式中的 AAC 音频格式数据、2. AAC 音频特殊配置、3. AAC 音频数据标签、三、 FLV 音频数据标签头、四、 音频解码配置信息、1. AAC 音频数据、2. 第 1 字节 AF 数据解析、3. 音频数据类型、
2020-06-17 20:28:33 1601
FFmpegSDL 音视频开发 ⑦ ( 播放 PCM 音频数据 )
2024-09-10
FFmpegSDL 音视频开发 ⑥ ( SDL 播放 YUV 视频 )
2024-09-05
【AI 大模型】函数调用 Function Calling ② ( 函数调用 引入 - 函数调用开发流程 - 代码示例 )
2024-07-20
【AI 大模型】OpenAI 接口调用 ① ( PyCharm 中开发 Python 程序调用 OpenAI 接口 )
2024-06-24
FFmpegSDL 音视频开发 ④ ( SDL 多线程 / 创建线程 / 等待线程执行完毕 )
2024-06-18
FFmpegSDL 音视频开发 ③ ( SDL 事件处理 )
2024-06-14
算法Graham 凸包扫描算法 ( 凸包概念 - 常用的凸包算法 - 角排序 - 叉积 - Python 代码示例 )
2024-06-13
FFmpegSDL 音视频开发 ②
2024-06-11
FFmpegSDL 音视频开发 ① ( SDL 窗口绘制 )
2024-06-07
FFmpegSDL 开发环境搭建
2024-06-07
【OpenHarmony】ArkTS 语法基础 ⑥ ( ArkTS 状态管理 - @Link 装饰器 )
2024-06-05
【OpenHarmony】ArkTS 语法基础 ⑤ ( ArkTS 状态管理 / @State 装饰器定义状态数据 )
2024-06-05
【OpenHarmony】ArkTS 语法基础 ④ ( ArkTS UI 渲染控制 - 条件渲染 - 循环渲染 )
2024-06-04
【OpenHarmony】ArkTS 语法基础 ③ ( 自定义组件生命周期回调函数 - 页面生命周期回调函数 )
2024-06-04
【OpenHarmony】 ArkTS 语法基础 ② ( ArkTS 自定义组件 )
2024-06-03
Windows 10 平台 FFmpeg 开发环境搭建 博客资源
2024-05-24
FFmpegFilter 过滤器 ⑥ ( 九宫格画面拼接 ) 博客资源
2024-05-17
Java 语言中的 properties 配置文件使用
2023-11-16
JetpackNavigation 导航组件 ④ ( Fragment 跳转中使用 safe args 安全传递参数 )
2023-08-25
可运行的 Android 版本的 ijkplayer 2023年 8 月 14 日调试完毕
2023-08-14
hadoop-3.3.4.tar.gz + winutils 安装环境
2023-08-03
JetpackNavigation 导航组件 ③ ( 为 Navigation Graph 添加跳转动画 )
2023-06-26
JetpackNavigation 导航组件 ②
2023-06-21
ViewModel + LiveData + DataBinding 综合使用示例
2023-04-27
DataBinding 架构组件 ④
2023-04-18
DataBinding 架构组件 ③
2023-04-04
DataBinding 架构组件 ② - DataBinding 布局中使用 import 标签导入 Java、Kotlin 类
2023-03-26
DataBinding 架构组件
2023-03-25
JetpackLiveData 架构组件
2023-03-12
JetpackViewModel 架构组件 博客源码
2023-03-07
博客资料 -JetpackLifeCycle 架构组件
2023-03-03
使用 Jedis 操作 Redis 数据库 博客代码示例
2023-02-20
Redis 数据库 安装、配置、访问资源
2023-02-09
开发环境JRE 裁剪 ② ( 裁剪 bin 目录下的 dll 动态库文件 - 压缩 rt.jar 文件 )
2023-01-17
开发环境JRE 裁剪 ① ( 裁剪 bin 目录下的 dll 动态库文件 )
2023-01-16
【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ③ 源码快照
2023-01-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人