Baseline Profile
Baseline Profile
Baseline Profile 可以用于 Andorid 8.0 以上系统的性能优化
原理简单来说还是 dex2oat 那一套东西,但是我们可以自己收集热点代码,生成对应的二进制文件,加速执行
想要使用,查阅 https://developer.android.com/topic/performance/baselineprofiles/overview 即可
Baseline Profile 可以用于 Andorid 8.0 以上系统的性能优化
原理简单来说还是 dex2oat 那一套东西,但是我们可以自己收集热点代码,生成对应的二进制文件,加速执行
想要使用,查阅 https://developer.android.com/topic/performance/baselineprofiles/overview 即可
今天遇到了个神奇的问题!
测试反馈某一个渠道包,运行时 crash,其他渠道包都没问题
因为我们的渠道包的代码本质上是一样的,出现一个包有问题,其他包没问题的情况,实在百思不得其解
最近一直在修改一个库,这个库是基于字节开源的 memory-leak-detector 修改的
由于近期增加了一系列的 hook,hook 方法众多,且几乎全量 hook 了所有 so,导致启动时会有 ANR 发生
最近同事在升级 Andorid13 遇到了包体积变化的问题!
具体问题:分支 A 编译产出 APK 体积为 110M,而基于分支 A 修改代码,适配 了Android13 后,体积为 160M,足足差了 50M
所谓的 native thread,其实就是只我们使用 c/c++ 做开发时,使用的 POSIX 标准的 pthread
pthread 函数在 libc 中,而 Android 中使用的是 bionic libc
(不是 GNU libc)
比较常用的是 create/join/detach 三个方法,后续的几个方法均是 pthread set/get 一些额外属性所需要的
Exercises
Are the following definitions valid? Why or why not?
|
编译正确。std::string 重写了 + 操作符
Are the following definitions valid? Why or why not?
|
编译报错。因为 “Hello” 为 const char *,并没有重载操作符,所以编译报错。
发现一个有趣的问题:
今天同事突然问我:“你看这个什么情况,我没使用 resGuard 相关的资源混淆的东西啊,打出来的包为什么资源被混淆了
?”
因为他们在做 AGP7.0 的升级,AGP 的升级往往又带着各种 buildTools 的升级,而 aapt2 又是 buildTools 的一部分,那我肯定是往这方面怀疑。