android - 获取系统属性的有效替代反射
问题描述
如果我们想以编程方式获取一些系统属性,我们可以使用以下 2 个选项之一
- 使用反射获取 android.os.SystemProperties 并使用 key 调用 get 方法。
- 使用 Runtime exec 调用“getprop”。
使用示例应用程序,我观察到选项#1(花费 1 毫秒)比选项#2(13 毫秒)快得多。我知道发生这种情况是因为在选项#2 中,JVM 将生成一个全新的进程来执行命令。
出于更好的性能原因,许多程序员肯定倾向于使用选项#1。
但是,正如https://developer.android.com/about/versions/pie/restrictions-non-sdk-interfaces中所述,从 Android P 开始,android 使用 non_SDK 接口进行阻塞。
那么,在不使用反射的情况下,有什么方法可以像使用反射一样快速获取系统属性?
解决方案
推荐阅读
- python-3.x - 关于python中识别函数和模块的问题
- c++ - C++ 矩阵类赋值运算符重载:设置矩阵值
- reactjs - 开玩笑:下拉菜单上的 onChange 事件不会改变它的值
- android - 无法实例化服务
- go - golang tour中的“imports on/off”开关有什么作用?
- c# - Specflow 2.4.0(不是更新的)将字符串转储到输出测试控制台
- cookies - Cookies 页面索引
- assembly - 在 Assembly 中查找列表的结尾
- swift - 使用每个单元格的 UIStepper 效果更新 CoreData 值
- javascript - 使用 multipart/x-mixed-replace MIME 类型流式传输任意数据