西安列举网 > 教育培训 > 电脑/网络 > 如何写出低碳环保的 Android 代码
西安
[切换城市]

如何写出低碳环保的 Android 代码

更新时间:2016-05-13 14:33:53 浏览次数:175次
区域: 西安 > 高新 > 科技二路
类别:软件工程师培训
地址:高新路与科技二路十字水晶城B座7层
随着环境问题越来越严重,人们越来越重视低碳环保的生活方式。作为码农的我们自然也应该为环保做出应有的贡献。那么什么是低碳环保,简而言之就是就是低能量、低消耗、低开支的生活方式,映射到我们的工作中就是以低的消耗的来完成组织交给我们的任务。
从第三方库来说
充分利用现存资源,尽可能不重复造轮子。从以往来看,如果你对现存的轮子有各种不满试图从头写,那么终结局中可能性大的就是只写了部分后直接放弃转而成为某个轮子的支持者,写完且比现有轮子要好的可能性还不如转行去大学城门口卖炒面。当然如果你写的是就是 SDK 之类的基础工具,那还是尽量减少依赖为好。

那么该如何挑选第三方库呢?Android 的应用层开发虽然使用 Java 语言,但并不是 Java 上的库都适合 Android 开发。Android 使用的不是 Oracle JDK 也不是 Open JDK,而是 Google 改写过的 Apache Harmony JDK,很多 Oracle JDK 自带的类(特别是 javax 的)在 Android 中并不存在,所以使用这些方法的库 Android 不能使用。

此外 Android 存在 65536 问题,这个坑体现在以下两点:

1)Android 机器在应用的安装过程中,系统会运行 dexopt 工具,将 .dex 文件优化为 .odex 文件,其中 dexopt 工具使用了固定的缓冲区大小来保存方法的元信息,低版本的 Android 机器上该缓冲区非常小,所以一旦方法数过多会直接导致 dexopt 崩溃,应用无法运行。

2)Dalvik 指令集对于一个 .dex 文件只能保存 65536 个方法的索引,所以一个 .dex 文件即使可以拥有很多方法,但是那些多余的方法也都是无法运行的。详细信息可以阅读的 dalvik-bytecode 的 invoke-kind {vC, vD, vE, vF, vG}, meth@BBBB 条目。

因此选择 Android 的第三库需要严格注意控制方法的总数量。

文/MaxLeap(简书作者)

西安电脑/网络相关信息
2023-10-19
2023-09-08
2023-08-29
注册时间:2016年05月04日
UID:290385
---------- 认证信息 ----------

查看用户主页