- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
1两个重要线程4
2数据加载线程sWorkerThread与UI主线程的消息处理4
3初始化加载6
4初始化显示6
1ProGuard概念
ProGuard是一款免费的Java类文件压缩器、优化器和器。它能发现并删
除无用类、字段(field)、方法和属性值(attribute)。它也能优化字节码并删除无
用的指令。最后,它使用简单无意义的名字来重命名你的类名、字段名和方法名。
经过以上操作的jar文件会变得更小,并很难进行逆向工程。这里提到了ProGuard
的主要功能是压缩、优化和,下面我就先介绍一下这些概念,然后再介绍
ProGuard的基本使用方法。
2什么是压缩:
Java源代码(.java文件)通常被编译为字节码(.class文件)。而完整的程序
或程序库通常被压缩和发布成Java文档(.jar文件)。字节码比Java源文件更简
洁,但是它仍然包含大量的无用代码,尤其它是一个程序库的时候。ProGuard的
压缩程序操作能分析字节码,并删除无用的类、字段和方法。程序只保留功能上
的等价,包括异常堆栈描述所需要的信息。
3什么是:
通常情况下,编译后的字节码仍然包含了大量的调试信息:源文件名,行号,
字段名,方法名,参数名,变量名等等。这些信息使得它很容易被反编译和通过
难进行逆向工程,它进一步免费的精简代码。除了异常堆栈信息所需要的类名,
方法名和行号外,程序只会保留功能上的等价。通过以上的了解,你应该明白为
什么需要了。
4ProGuard的作用:
1.创建紧凑的代码文档是为了更快的网络传输,快速装载和更小的内存占用.
2.创建的程序和程序库很难使用反向工程.
3.所以它能删除来自源文件中的没有调用的代码
4.充分利用java6的快速加载的优点来提前检测和返回java6中存在的类文件.
5ProGuard文件的配置属性:
参数:
-include{filename}从给定的文件中配置参数
-basedirectory{directoryname}指定基础为以后相对的名称
-injars{class_path}指定要处理的应用程序jar,war,ear和
-outjars{class_path}指定处理完后要输出的jar,war,ear和的名称
-libraryjars{classpath}指定要处理的应用程序jar,war,ear和所需要的程序
库文件
-dontskipnonpubliclibraryclasses指定不去忽略非公共的库类。
-dontskipnonpubliclibraryclassmembers指定不去忽略包可见的库类的成员。
保留选项
-keep{Modifier}{class_specification}保护指定的类文件和类的成员
-keepclassmembers{modifier}{class_specification}保护指定类的成员,如果此
类受到保护他们会保护的更好
-keepclasseswithmembers{class_specification}保护指定的类和类的成员,但条
件是所有指定的类和类成员是要存在。
-keepnames{class_specification}保护指定的类和类的成员的名称(如果他们
不会压缩步骤中删除)
-keepclassmembernames{class_specification}保护指定的类的成员的名称(如
果他们不会压缩步骤中删除)
-keepclasseswithmembernames{class_specification}保护指定的类和类的成员
的名称,如果所有指定的类成员出席(在压缩步骤)
-printseeds{filename}列出类和类的成员-keep选项的,标准输出到给定
的文件
压缩
-dontshrink不压缩输入的类文件
-printusage{filename}
文档评论(0)