6.5 为什么Android用Java不用c实现?

时间:2023-12-28 09:23:44

  C/C++过于底层,开发者要花很多的经历对C/C++的语言研究清楚,例如C/C++的内存机制,如果稍不注意,就会忘了开启或者释放。而Java的GC会自动处理这些,省去了很多的时间让开发者专注于自己的业务。所以才会从C/C++的底层慢慢向上变成了JAVA的开发语言,该层通过JNI和核心运行库层进行交互。其实这些也是Java能发展这么迅速的原因,现象对象语言的优势。不用太关注内存,才有时间去创造新的事物。举例:

  • Activity Manager:用来管理应用程序生命周期并提供常用的导航回退功能。
  • Window Manager:提供一些我们访问手机屏幕的方法。屏幕的透明度、亮度、背景。
  • Content Providers:使得应用程序可以访问其他应用程序的数据(如联系人数据库)或者共享它们自己的数据。
  • View System:可以用来构建应用程序, 它包括列表,网格,文本框,按钮, 甚至可嵌入的web浏览器。
  • Notification Manager:使得应用程序可以在状态栏中显示自定义的提示信息。
  • Package Manager:提供对系统的安装包的访问。包括安装、卸载应用,查询权限和Application相关信息等。
  • Telephony Manager:主要提供了用于访问手机通讯相关的状态和信息的方法,查询电信网络状态、sim卡的信息等。
  • Resource Manager:提供非代码资源的访问,如本地字符串,图形,和布局文件(Layout files )。
  • Location Manager:提供设备的地址位置的获取方式。很显然,GPS导航肯定能用到位置服务。