阅读更多

0顶
0踩

开源软件

原创新闻 Facebook开源安卓字节码文件优化器

2016-04-14 09:44 by 副主编 mengyidan1988 评论(1) 有6820人浏览



去年,Facebook使用叫ReDex的字节码优化工具优化了他们的安卓应用的性能

现在,ReDex已经开源了。安卓开发者可以免费地使用这个工具优化自己的应用。也可以将它用作其它安卓字节码优化工具的基础。

Facebook工程博客的一篇文章中指出,.DEX(安卓的可执行文件的形式)文件中的类,并不是按照应用启动时候加载的顺序加载的,而是按照编译工具指定的顺序加载的。

ReDex使用程序运行时产生的运行数据判定哪些类应该在.DEX文件中被优先载入。“想要最小化从内存中读取数据的次数,最好从启动的时候就载入字节码。”Facebook称,他们使用ReDex对应用优化之后,对存储的读取减少了25%,运行速度提高了30%。

关于这个速度,Facebook称,在存储较慢的老旧机器上效果非常明显,但是对于新的收集,性能也有明显的提高。Facebook在一台搭载了安卓4.4的全新的Nexus4上(有35%的安卓设备运行这个版本)测试,启动时间从2秒降至1.6秒。

Runtime分析可以用来删除无关的元数据和接口,但是开发者也可以自定义优化的行为。比如,有些方法即使没有直接被调用,也可以让它们保留下来。

这个优化是在应用编译完成之后进行的。也就是说,理论上你也可以结合其他优化,比如对Java进行虚拟机层的优化和语言的优化,像即将到来的Java 9的语言模块特性等等。

优化Java的字节码文件并不是一种新技术。还有其他的开源项目,例如ProGuard就可以通过删除运行时没有使用的代码进行优化。但是它并不能像ReDex那样按照执行顺序来重新组织类。

原文:Facebook open-sources Android byte code optimizer(译者/赖信涛 责编/孙思)
  • 大小: 34.1 KB
0
0
评论 共 1 条 请登录后发表评论
1 楼 tanliwei 2016-04-14 23:27
Mark.

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Android字节码优化工具ReDex.zip

    ReDex 是 Facebook 开发的一个 Android 字节码的优化工具。它提供了 .dex 文件的读写和分析框架,并提供一组优化策略来提升字节码。使用方法很简单: redex path/to/your.apk -o path/to/output.apk输出后的 output....

  • Android Dex优化(Facebook ReDex),代码优化

     Android下优化 清除无效 未被使用的 代码 UCDetector,官方下载地址:http://www.ucdetector.org/index.html  需要注意: 反射 、在xml中配置注入方式、第三方工程的应用 、jar包调用 等 需要自己手工判断  建议...

  • Facebook App 优化工具 ReDex 优化的 6 点及未优化的一大方面

    Facebook App 优化工具 ReDex 优化的 6 点及未优化的一大方面

  • Facebook 开源代码分析工具 —— Mariana Trench

    Facebook 的安全团队本周向开源社区揭晓了一个新的开源项目 ——Mariana Trench,这是一个用于识别 Android 和 Java 应用程序漏洞的开源工具,Facebook 此前一直在公司内部使用 这个以应用安全为重点的工具可以...

  • 性能优化之三——包体积优化大战

    优化意义2.分析工具1.APK Analys2.重要参数诠释3.编包流程4.优化战法1.常规战法1.清理无用资源1.Lint工具2.开启shrinkResources去除无用资源3.删除无用的语言资源4.清理第三方库中冗余代码2.图片资源优化(减)1.只...

  • Facebook 出品的 apk 包优化工具 redex.zip

    Facebook 出品的 apk 包优化工具 redex.zip,Android应用程序的字节码优化器

  • redex,redex facebook、android apk、android app。.zip

    redex是android字节码(dex)优化器,最初在

  • Android优秀开源框架集

    Android优秀开源框架介绍开源框架来源说明1. okhttp2. retrofit3. MPAndroidChart4. glide5. xxx 开源框架来源说明 本文中介绍框架来源,根据github android开源框架星数排名,取前80。 1. okhttp 简介: ...

  • 基于 Facebook Redex 实现 Android APK 的压缩和优化

    最近 Facebook 开源了一个名为 Redex[1]的工具包,专门用于 Android 字节码的优化,经过 Redex 转换后的 APK,体积变得更小,运行速度变得...

  • Android性能优化之启动速度优化

    Android性能优化之启动速度优化: 1.讲解APP启动原理完整流程 2.讲解如何去排查启动问题 3.给出启动优化的解决方案

  • Facebook 最热门的开源项目推荐!

    来源:开源最前线 猿妹 整编 ...本文为大家整理了 Facebook开源的热门项目,看看有没有感兴趣的,排名顺序按照 Github ★Star 数排列。希望对你有帮助,排名如下: 1构建用户界面的 JavaScript 库 ReactJS

  • 【Android知识笔记】性能优化专题(五)

    Android知识笔记之性能优化专题(五),包括App瘦身相关内容

  • Android最牛的开源整理

    这是一个基本把github上所有优秀安卓的开源代码整理了,下面是都是转自https://github.com/Trinea/android-open-project,都是一些牛人,很有开源精神的达人做的,学习时,同时力推荐...这个网站把许多开源项目进行了...

  • 160多个android开源码汇总

    、其它 一、ListView android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView、ViewPager、WevView、ExpandableListView、GridView、ScrollView、Horizontal ScrollView、Fragment上下...

  • android开源框架(转)

    Android开源项目第一篇——个性化控件(View)篇 包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、其他Android开源项目第二篇——工具库篇 包括依赖注入、图片...

  • 智慧园区3D可视化解决方案PPT(24页).pptx

    在智慧园区建设的浪潮中,一个集高效、安全、便捷于一体的综合解决方案正逐步成为现代园区管理的标配。这一方案旨在解决传统园区面临的智能化水平低、信息孤岛、管理手段落后等痛点,通过信息化平台与智能硬件的深度融合,为园区带来前所未有的变革。 首先,智慧园区综合解决方案以提升园区整体智能化水平为核心,打破了信息孤岛现象。通过构建统一的智能运营中心(IOC),采用1+N模式,即一个智能运营中心集成多个应用系统,实现了园区内各系统的互联互通与数据共享。IOC运营中心如同园区的“智慧大脑”,利用大数据可视化技术,将园区安防、机电设备运行、车辆通行、人员流动、能源能耗等关键信息实时呈现在拼接巨屏上,管理者可直观掌握园区运行状态,实现科学决策。这种“万物互联”的能力不仅消除了系统间的壁垒,还大幅提升了管理效率,让园区管理更加精细化、智能化。 更令人兴奋的是,该方案融入了诸多前沿科技,让智慧园区充满了未来感。例如,利用AI视频分析技术,智慧园区实现了对人脸、车辆、行为的智能识别与追踪,不仅极大提升了安防水平,还能为园区提供精准的人流分析、车辆管理等增值服务。同时,无人机巡查、巡逻机器人等智能设备的加入,让园区安全无死角,管理更轻松。特别是巡逻机器人,不仅能进行360度地面全天候巡检,还能自主绕障、充电,甚至具备火灾预警、空气质量检测等环境感知能力,成为了园区管理的得力助手。此外,通过构建高精度数字孪生系统,将园区现实场景与数字世界完美融合,管理者可借助VR/AR技术进行远程巡检、设备维护等操作,仿佛置身于一个虚拟与现实交织的智慧世界。 最值得关注的是,智慧园区综合解决方案还带来了显著的经济与社会效益。通过优化园区管理流程,实现降本增效。例如,智能库存管理、及时响应采购需求等举措,大幅减少了库存积压与浪费;而设备自动化与远程监控则降低了维修与人力成本。同时,借助大数据分析技术,园区可精准把握产业趋势,优化招商策略,提高入驻企业满意度与营收水平。此外,智慧园区的低碳节能设计,通过能源分析与精细化管理,实现了能耗的显著降低,为园区可持续发展奠定了坚实基础。总之,这一综合解决方案不仅让园区管理变得更加智慧、高效,更为入驻企业与员工带来了更加舒适、便捷的工作与生活环境,是未来园区建设的必然趋势。

  • labelme标注的json转mask掩码图,用于分割数据集 批量转化,生成cityscapes格式的数据集

    labelme标注的json转mask掩码图,用于分割数据集 批量转化,生成cityscapes格式的数据集

Global site tag (gtag.js) - Google Analytics