我知道如何從應用程序層訪問Android系統屬性。
在框架層android.os.SystemProperties
類中負責 獲取所有屬性。但在內部,它調用一些C代碼來獲取 的屬性,如native_get(key,value)
。
任何人都請告訴我哪個文件基本上是在C代碼中引用的?關於系統屬性
Q
關於系統屬性
2
A
回答
3
這些不是SDK API的一部分。
5
該方法的原生代碼位於文件android_os_SystemProperties.cpp
中。它將它們委託給仿生libc庫/bionic/libc/bionic/system_properties.c
,它從共享內存中讀取屬性值。
這裏是從「Android property system」文章引用(我建議你閱讀這一切,如果你想了解性能如何Android的工作):
init進程將以下文件加載性能:
/default.prop /system/build.prop /system/default.prop /data/local.prop
下一步是啓動屬性服務。在這一步中,創建一個unix域套接字服務器。此套接字的路徑名爲
"/dev/socket/property_service"
,這是其他客戶端進程所熟知的。
最後,init進程調用輪詢來等待套接字上的連接事件。在消費者方面,它初始化libc時(
bionic/libc/bionic/libc_common.c __libc_init_common function
)。它將從環境變量中檢索fd和size,並將共享內存映射到它自己的空間(bionic/libc/bionic/system_properties.c __system_properties_init function
)。在那之後,libcutils可以像消費者的正常內存一樣讀取屬性。
相關問題
- 1. Android系統屬性
- 2. C#屬性系統
- 3. 基於系統屬性導入Spring @Configurations
- 4. 用於PropertyPlaceholderConfigurer的系統屬性後綴
- 5. 關於android系統
- 6. 春屬性文件VS系統屬性
- 7. 基於關係屬性的odata過濾
- 8. Neo4django關係屬性
- 9. 有關係屬性
- 10. Mongoid關係屬性
- 11. 系統屬性:user.region或user.country
- 12. 更改user.home系統屬性
- 13. grails base.dir系統屬性
- 14. WSMAN和WMI系統屬性
- 15. codeigniter屬性/過濾系統
- 16. C#屬性文件系統
- 17. IProxyService.setProxyData影響系統屬性
- 18. 設置系統屬性
- 19. java中的系統屬性
- 20. 日食 - 系統屬性http.nonProxyHosts
- 21. 訪問系統屬性
- 22. java.util.logging.SimpileFormatter系統屬性配置
- 23. 系統文件屬性
- 24. Cakephp:屬於關係
- 25. Neo4j - 基於關係屬性計算並設置節點屬性
- 26. 關於剛性屬性關係的建議
- 27. 關於Linux文件系統
- 28. 關於JMS系統結構
- 29. 關於系統記錄器
- 30. 關於IOCTL系統調用