文件比较器安卓(文件比较器安卓怎么用)

文件比较器安卓(文件比较器安卓怎么用)classes dex classes dex 是 Java 源码编译后生成的 java 字节码文件 但由于 Android 使用的 dalvik 虚拟机与标准的 java 虚拟机是不兼容的 dex 文件与 class 文件相比 不论是文件结构还是 opcode 都不一样 目前常见的 java 反编译工具都不能处理 dex 文件 Android 模拟器中提供了一个 dex 文件的反编译工具 dexdump 用法为首先启动 Android 模拟器 把要查看的 dex 文件用 adb push 上传的模拟器中 然后通过 adb shell 登录




Android 模拟内存踩踏_移动开发

####classes.dex
classes.dex是Java源码编译后生成的java字节码文件。但由于Android使用的dalvik虚拟机与标准的java虚拟机是不兼容的,dex文件与class文件相比,不论是文件结构还是opcode都不一样。目前常见的java反编译工具都不能处理dex文件。Android模拟器中提供了一个dex文件的反编译工具,dexdump。用法为首先启动Android模拟器,把要查看的dex文件用adb push上传的模拟器中,然后通过adb shell登录,找到要查看的dex文件,执行dexdump xxx.dex。另,有人介绍到Dedexer是目前在网上能找到的唯一一个反编译dex文件的开源工具,需要自己编译源代码。

####clases2.dex
同上,上面的是对你的java文件的编译,这个是对你所导入的jar文件的编译。

####resources.arsc
编译后的二进制资源文件

###AndroidMainfest.xml
该文件是每个应用都必须定义和包含的,它描述了应用的名字、版本、权限、引用的库文件等等信息,如要把apk上传到Google Market上,也要对这个xml做一些配置。

####assets
assets目录可以存放一些配置文件(比如webview本地资源、图片资源等等),这些文件的内容在程序运行过程中可以通过相关的API获得。

####lib
lib目录下的子目录armeabi存放的是一些so文件。这个地方多讲几句,都是在开发过程中摸索出来的。eclipse在打包的时候会根据文件名的命名规则(lib**.so)去打包so文件,开头和结尾必须分别为“lib”和“.so”,否则是不会打包到apk文件中的。其他非eclipse开发环境没有测试过。如果你是用SDK和NDK开发的话,这部分很重要,甚至可以通过把一些不是so文件的文件通过改名打包到apk中,具体能干些什么那就看你想干什么了!

###META-INF
META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。

###Res目录
这是我们存放xml drawable string color等等一些资源文件。

###32.6M——13.6M
首先,我先声明下,不然我怕会被打,目前13.6M的还在测试中,因为机型问题,目前没法测试。现在稳定包的大小是在19.8M——20.4M。

###混淆和去除无用资源
在gradle使用minifyEnabled进行Proguard混淆的配置,可大大减小APP大小

Android 模拟内存踩踏_架构_02

###删除无用图片资源
我们公司项目到现在逸代了2年了。可想而知,代码的冗余太多了。版本更新会导致很多资源用不到,然后依旧存在包中。这事我是交给老大的做的,毕竟项目他最熟。于是乎删了差不多100多张图片。因为做了图片适配。所以删除的图片资源差不多是在400张的样子。这样。我们的app包从32.6M变成了26.8M。记得刚打包测试的时候,测试经理来个句。你们这包不对啊,怎么少了6、7M。然后就回了是正常的,说我这边搞完差不多会在20M左右。测试经理:什么?在瘦个20M。这么夸张。我:………好了,不扯了,跑题了。

Android 模拟内存踩踏_架构_03

###删除无用resource资源
这个和上面的肯定不一样的。我这边主要还是指xml。首先,我们需要点击Analyze——>Run Inspection by Name…

Android 模拟内存踩踏_Android 模拟内存踩踏_04

继续输入:unused resource

Android 模拟内存踩踏_架构_05

直接点ok,然后等待:

Android 模拟内存踩踏_架构_06

看来公司项目还能少个300k~。你们对比着你们的项目一个个的删就行了。

###图片瘦身之熊猫大法
前面我也说了。用svg适配改的代码量太大了。于是乎我转用了熊猫瘦身,也就是tinypng。官方网站:https://tinypng.com。下面我从官网给大家介绍下tinypng:

###TinyPNG有什么作用?
TinyPNG使用智能有损压缩技术来减小 PNG文件的文件大小。通过选择性地减少图像中的颜色数量,需要较少的字节来存储数据。效果几乎不可见,但它使文件大小有很大的差别!

###为什么要使用TinyPNG?
PNG是有用的,因为它是唯一广泛支持的格式,可以存储部分透明的图像。格式使用压缩,但是文件仍然可能很大。使用TinyPNG缩小您的应用程序和网站的图像。它将使用更少的带宽和更快的加载。

###它是如何工作的?
当您上传PNG(便携式网络图形)文件时,图像中的相似颜色会合并。这种技术被称为“量化”。通过减少颜色数量,24位PNG文件可以转换为更小的8位索引彩色图像。所有不必要的元数据也会被删除。结果:更好的PNG文件100%支持透明度。有你的蛋糕,吃它了!

###它支持到处吗?
TinyPNG生成的文件在所有现代浏览器(包括移动设备)上完美显示。仍然需要支持Internet Explorer 6?它通常忽略PNG透明度并显示实心背景颜色。使用TinyPNG的背景变得透明了。二进制透明度没有任何解决方法!

###为什么创建Tinypng?
我们经常使用PNG图像,但对加载时间感到失望。我们创建TinyPNG在我们的使命,使我们自己的网站更快,更有趣的使用最好的压缩。在2014年,我们添加了JPEG图像的智能压缩,并在2016年,我们添加了对动画PNG的支持。

###使用方法

Android 模拟内存踩踏_架构_07

我们看到官网的介绍,在这边上传你的jpg或者png 一次最多20张,每张最大5MB。接下来我们随便来个测试:

Android 模拟内存踩踏_Android_08

从1.4M变成570k。缩了60%。可想而知,熊猫的强大。想要一次上传全部,这tm就尴尬了。一年25美元。你们可以让你们的UI给你们图片的时候就用Tinypng压缩在发过来。不过有的公司就给你个设计稿。那就得自己亲自下手咯~

###熊猫大法VS SVG大法
我对比了熊猫和svg的压缩,前者app’大小是在20.4M,后者是在19.8M。下面上图给你们对比下:

Android 模拟内存踩踏_Android 模拟内存踩踏_09

###19.8M——13.6M

编程小号
上一篇 2025-02-24 10:17
下一篇 2025-03-07 12:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/24317.html