标签 性能优化 下的文章

字符串加密 图片加密 如何避免应用被重新签名分发 APK 加壳的方案简析 DEX加密原理及实现 本文首发地址:https://h89.cn/archives/212.html 最新更新地址:https://gitee.com/chenjim/chenjimblog 通过 前文 介绍,我们知晓了如何使用代码混淆和资源混淆加固我们的APK,以及如何分析混淆后Crash日志问题。本文将进一步介绍APP加固的相关方法,比如字符串加密、资源加密、签名效验、DEX加密等。 字符串加密 反编译 ProguardDemo.apk 可以看到字符串chenjim,如下图,可能会泄露我们的重要信息 StringFog 提供了一个很好的方案: 编译时对所有字符串进行加密,运行时进行解密,可以自定义加解密算法。 图片加密 通过反编译后,我们能看到所有使用图片的资源文件,如何避免被

- 阅读剩余部分 -

为什么要开启混淆 如何开启代码混淆 如何开启资源压缩 代码混淆配置 代码混淆后,Crash 问题定位 结尾 本文首发地址:https://h89.cn/archives/211.html 最新更新地址:https://gitee.com/chenjim/chenjimblog 为什么要开启混淆 先上一个 简单示例 MainActivity.kt class MainActivity : AppCompatActivity() { private val p = Person("chenjim", 18) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.

- 阅读剩余部分 -

本地首发地址 https://h89.cn/archives/189.html 最新更新地址 https://gitee.com/chenjim/chenjimblog 原文地址 https://www.romainguy.dev/posts/2024/speeding-up-isblank/ 最近在优化 Jetpack Compose 运行时的部分时,偶然发现了一个看似无害的 API isBlank() 。如果调用的字符串为空或仅由空格字符组成,则此 API 将返回 true 。 但它真的无害吗?让我们看一下 JVM 实现,以更好地了解它的作用: public actual fun CharSequence.isBlank(): Boolean = length == 0 || indices.all { this[it].isWhit

- 阅读剩余部分 -

介绍 Perfetto SQL 基础 使用 Perfetto SQL 进行性能分析 总结 本文首发地址 https://blog.csdn.net/CSqingchen/article/details/134167741 最新更新地址 https://gitee.com/chenjim/chenjimblog Perfetto 抓取 trace 可参考 https://blog.csdn.net/CSqingchen/article/details/128900541 介绍 Perfetto 是一个由 Google 开发的高性能、可扩展的事件追踪系统,用于在实时和离线场景下监控系统的性能。 它通过一种简单且强大的查询语言(称为 SQL)来分析和查询事件数据。 在本博客中,我们将深入探讨如何使用 SQL 在 Perfetto 中进行性能分析。 Perfet

- 阅读剩余部分 -

1. 保持工具最新 2. 使用 KSP 代替 kapt 3. 避免编译不必要的资源 4. 优化 repositories maven 排序 5. 在调试构建中使用静态构建配置值 6. 使用静态依赖版本 7. 创建库模块 8. 为自定义构建逻辑创建任务 9. 将图像转换为 WebP 10. 禁用 PNG 处理 11. 挑选 JVM 垃圾收集器 12. 增加 JVM 堆大小 13. 使用非传递 R 类 14. 使用非常量 R 类 15. 禁用 Jetifier 标志 16. 使用配置缓存 1. 保持工具最新 Android 工具几乎每次更新都会获得构建优化和新功能,保持最新版本可以加快构建速度 Android Gradle 插件 Android Studio 和 SDK 工具 2. 使用 KSP 代替 kapt Kapt(Kotlin 注释处理工具)允许您将 J

- 阅读剩余部分 -

介绍 使用 adb 抓取 通过 perfetto 网页抓取 直接在手机上抓取 使用 record_android_trace 抓取 熟悉 perfetto 快捷键,会有事半功倍效果 注意事项 本文首发地址 https://blog.csdn.net/CSqingchen/article/details/128900541 最新更新地址 https://gitee.com/chenjim/chenjimblog Perfetto 官方链接地址 https://github.com/google/perfetto/ 介绍 Perfetto 是基于 Android 的系统追踪服务, Android的trace跟踪服务在 Android11(R) 之后是默认打开的,但是如果你是 Android 9 ( P ) 或者 10 ( Q ) ,那么就需要手动设置一下相

- 阅读剩余部分 -

本地首发地址 https://blog.csdn.net/CSqingchen/article/details/128382445 最新更新地址 https://gitee.com/chenjim/chenjimblog 官方文档(可在Chome直接翻译) https://perfetto.dev/docs/data-sources/native-heap-profiler 示例 raw-trace 资源地址 https://download.csdn.net/download/CSqingchen/87321798 本文示例是windows,这里使用了python工具,在Linux和mac同样适用 首先安装python3环境,参见 https://www.python.org/downloads/ 下载 perfetto ,地址在

- 阅读剩余部分 -