首页
学习
活动
专区
工具
TVP
发布

Redex 初探与 Interdex:Andorid 冷启动优化

直到今年4月,redex终于开源了,我们也第一时间对redex做了研究(有观众可能要说我骗人,这都11月了怎么还第一时间呢?...PS:本篇提到的冷启动速度优化,不包括Android 5.0及以上系统 一、redex的使用与坑 1.安装与使用 使用redex的第一个坑就是环境。...2.优化原理与配置 Redex的优化项众多,并且可以很方便的修改配置文件来选择需要执行的优化,默认的配置文件如下 ? 根据官方的介绍文档,redex的优化主要有以下几项: A.内联。...E.签名 redex执行后需要对apk重新签名,而手Q在签名之后还有一些优化逻辑。 这个时候redex可配置优化项的方便之处就体现出来了。遇到问题时,可以把可疑的优化项屏蔽掉,继续验证。...Android编译时把.class转换成.dex是依靠dx.bat,这个工具实际执行的是sdk中的dx.jar。我们可以修改dx的源码,替换这个jar包,就可以执行自定义的dx逻辑了。

3.3K61
您找到你想要的搜索结果了吗?
是的
没有找到

Android性能优化系列之apk瘦身

Android性能优化系列之布局优化 Android性能优化系列之内存优化 为什么APK要瘦身。...从Android 4.0+开始原生支持,但是不支持包含透明度,直到Android 4.2.1+才支持显示含透明度的webp,使用的时候要特别注意。...Facebook的redex优化字节码 redex是facebook发布的一款android字节码的优化工具,需要按照说明文档自行配置一下。...157k: 下面我们来看看它的效果,仅redex的话,减小了157k: 如果先进行微信混淆,再redex,减小了565k,redex只贡献了10k: 如果先进行redex,在进行微信混淆...另外,据反应redex后会有崩溃的现象,这个要留意一下,我这里压缩之后都是可以正常运行的。 详情参考:ReDex

96630

大厂Android启动优化-出其不意的优化手段

dex2oat可以通过shell命令执行cmd package compile -m speed-profile -f packageName 4 Redex Linux 文件系统从磁盘读文件的时候,会以...class A { static { //记录 } } 然后通过 ReDex 的Interdex调整类在 Dex 中的排列顺序,最后可以利用 010 Editor 查看修改后的效果...从多方拿到的数据来看,收益在0-6%,整体不是很明显,而且需要把redex工程化、考虑和proguard的兼容等问题。...Google 也注意到了后台 GC 对于应用启动速度的影响,并尝试了在 Android 中对这一场景进行优化。在 Android 10 的代码中。...相关视频推荐: 【2021最新版】Android studio安装教程+Android(安卓)零基础教程视频(适合Android 0基础,Android初学入门)含音视频_哔哩哔哩_bilibili 【

1.3K20

都2020年了Andoid还能如何性能优化(1)—— 启动速度优化

热启动 即进程存活情况下,点击桌面图标,应用从后台切换到前台 二.如何检测启动耗时 1.查看Logcat 在Android Studio Logcat中过滤关键字“Displayed”,可以看到对应的冷启动耗时日志...4.使用TraceView 这个的使用参考我以前写的文章 《Android性能优化系列之App启动优化》 三.启动优化进阶方法 启动优化一些常用的方法参考《Android性能优化系列之App启动优化》...name 记录到文件 writeToFile(name,"coldstart_classes.txt"); return super.findClass(name); } } 具体实现可以参考 ReDex...最后附上redex地址:https://github.com/facebook/redex 启动阶段抑制GC 启动时CG抑制,允许堆一直增长,直到手动或OOM停止GC抑制。...参考: 抖音BoostMultiDex优化实践:Android低版本上APP首次启动时间减少80%

36010

Android性能优化(一)之启动加速35%

一、前言 随着项目版本的迭代,App的性能问题会逐渐暴露出来,而好的用户体验与性能表现紧密相关,从本篇文章开始,我将开启一个Android应用性能优化的专题,从理论到实战,从入门到深挖,手把手将性能优化实践到项目中...但是因为类的继承关系短时间内无法直接替换,作为优化点暂时遗留; 可以考虑根据实际情况将启动时部分接口合并为一,减少网络请求次数,降低频率; 相同功能的组件只保留一个,例如:友盟、GrowingIO、自有统计等功能重复; 使用ReDex...进行优化;实验Redex发现Apk体积确实是小了一点,但是启动速度没有变化,或许需要继续研究。...相关视频: 【2021最新版】Android studio安装教程+Android(安卓)零基础教程视频(适合Android 0基础,Android初学入门)_哔哩哔哩_bilibili Android...Android高级UI性能优化——LayoutInflater.inflate函数意义与参数说明_哔哩哔哩_bilibili Android高级UI性能优化——ViewPager嵌套Fragment

92630

作为一名Android工程师,了解Framework层对工作有什么帮助吗?

Redex 为什么会加快应用启动速度? 再比如我们经常说的 Handler,MessageQueue,Looper。...再比如说 Android 的进程管理机制。AMS 把 Android 进程按照一定的规则,设置不同的优先级,在内存比较低的时候,高优先级的 App 比低优先级的 App 更不容易被系统干掉!...image.png 面试中那些Framework相关的问题 通常作为一个Android APP开发者,我们并不关心Android的源代码实现,不过随着Android开发者越来越多,企业在筛选Android...程序员时越来越看中一个程序员对于Android底层的理解和思考,这里的底层主要就是Android Framewok中各个组件的运行原理,例如Binder的运行机制、ServiceManager的作用等等...在Android面试中,关于 Framework 的问题是必备的,但是这些关于字节跳动 Framework 的高频面试题你都掌握了吗?

1.1K10

深入探索 Android 包瘦身(下)——终篇

作者:jsonchao 链接:https://juejin.im/post/5e7ad1c0e51d450edc0cf053 复习上篇:《深入探索 Android 包瘦身(上)》 中篇:《深入探索 Android...1、So 移除方案 So 是 Android 上的动态链接库,在我们 Android 应用开发过程中,有时候 Java 代码不能满足需求,比如一些 加解密算法或者音视频编解码功能,这个时候就必须要通过...至此,可以看到,FaceBook 出品的 Buck 同 ReDex 一样,里面的功能都十分强大,Buck 除了实现 Library Merge 和 Relinker 功能之外,还实现了三大功能,如下所示...: 1)、多语言拆分 2)、分包支持 3)、ReDex 支持 如果有相应需求或对 Buck 感兴趣的同学可以去看看它们的实现源码。...插件化相关的知识非常多而且不属于我们的重点,并且,插件化严格来说属于 基础架构研发 这块的知识,掌握它是成为 Android 架构师的必经之路,关于 Android 架构师的学习路线 可以参考 Awesome-Android-Architecture

1.9K10

Android常问面试题,赶紧收藏一波

补充知识: Zygote zygote名字翻译叫受精卵,zygote进程的创建是由Linux系统中init进程创建的,Android中所有的进程都是直接或者间接的由init进程fork出来的,Zygote...当需要启动一个新的android应用程序的时候,ActivityManagerService就会通过Socket通知Zygote进程为这个应用创建一个新的进程。...Binder Binder是Android跨进程通信(IPC)的一种方式,也是Android系统中最重要的特性之一,android 四大组件以及不同的App都运行在不同的进程,它则是各个进程的桥梁将不同的进程粘合在一起...微信的AndResGuard 3.图片压缩 1)tinypng 2)svg 3)webp 4.so库配置 只保留两个abi平台,即armeabi和armeabi-v7a 5.dex优化 Facebook的redex

55720

Android性能优化之启动加速35%

一、前言 随着项目版本的迭代,App的性能问题会逐渐暴露出来,而好的用户体验与性能表现紧密相关,从本篇文章开始,我将开启一个Android应用性能优化的专题,从理论到实战,从入门到深挖,手把手将性能优化实践到项目中...但是因为类的继承关系短时间内无法直接替换,作为优化点暂时遗留; 可以考虑根据实际情况将启动时部分接口合并为一,减少网络请求次数,降低频率; 相同功能的组件只保留一个,例如:友盟、GrowingIO、自有统计等功能重复; 使用ReDex...进行优化;实验Redex发现Apk体积确实是小了一点,但是启动速度没有变化,或许需要继续研究。...转发+点赞+关注,第一时间获取最新知识点 Android架构师之路很漫长,一起共勉吧!

74310

成功逆袭:越来越胖怎么能忍,我的APK瘦身之路!

Android Studio在2.2版本添加 APK Analyzer功能,可以直接打开apk文件,如下图所示 ? APK文件主要有如下几部分组成: ?...架构支持 Android系统目前支持以下七种不同的CPU架构:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64...64位设备(arm64-v8a, x86_64, mips64)能够运行32位的函数库,但是以32位模式运行,在64位平台上运行32位版本的ART和Android组件,将丢失专为64位优化过的性能(ART...2、使用ReDex优化,这是Facebook开源的一个减小安卓app大小以提高性能的工具,集成的话有风险需要多测试,教程。 3、减少java隐藏开销,比如一些自动生成的函数等。

61720
领券