自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (9)
  • 收藏
  • 关注

翻译 增加aapt2 “keep“ 规则的准确性

appt2工具会将你的Android应用资源打包成运行时的格式。它同时会生成 ProGuard或R8需要的“keep” 规则,因此那些在资源文件中引用的类将不会被移除。一些类的例子如:仅在layout XML文件中引用的View,仅在menu XML文件中引用的 Action Provider 和仅在在AndroidManifest文件中引用的广播接收器,如果没有这些规则,它们将会在最终的APK文件中被删除。在Android Gradle plugin3.3.0-alpha05以前的版本,aapt2会生成

2021-10-30 12:33:32 153

原创 Android Gradle 资源编译 - MergeResource

Android Gradle 资源编译 - MergeResource基于 APG 3.5.3 版本、AAPT2Android Gradle Plugin 打包的过程中,AAPT2将资源的编译拆分成两个阶段:编译 和 链接。MergeResource任务就是将项目的 res目录内容与Project Library、Remote Dependency 等依赖的res目录中的内容进行合并,...

2020-05-12 14:55:38 3088

翻译 Android Studio Project Marble: Apply Changes

深入了解Android Studio的构建工作团队是如何构建 Instant Run 的继任者 Apply Changes。 这是由 Android Studio 团队发布的一系列深入了解 Project Marble 一些细节和背后原理文章的第一篇。从 Android Studio 3.3版本开始,Project Marble 是一个多发行版, 专注于使得IDE的基本功能更加可靠和完善。以...

2020-03-27 11:00:12 991

翻译 Gradle - 使用Gradle插件

使用Gradle插件Gradle的核心在自动化的世界中并没有做太多的事情。所有有用的特性,例如:编译Java代码,都是通过添加插件的方式来实现的。插件添加新任务(例如:JavaCompile),领域对象(例如:SourceSet),约定(例如: Java 源代码路径为src/main/java)。插件能做什么在项目中引用插件能够扩展项目的功能。它能够实现的如下:扩展Gradle的Mode...

2020-03-06 08:37:00 144

原创 Android APK 中 dex 文件数量限制问题

Android apk 中 dex 文件数量限制问题背景随着应用发展App的方法数不断的上涨,为了加快Android的编译速度,我们经常会设置以下内容:android { defaultConfig { multiDexEnabled = true minSdkVersion 21 } dexOptions { preDexLibraries ...

2020-03-04 17:15:13 2065 3

翻译 Dalvik Optimization and Verification With dexopt

Dalvik Optimization and Verification With dexoptDalvik 是专门设计用于Android手机平台的虚拟机。主要目标系统是 内存较小,读写存储速度比较慢,机器性能普片比较差的桌面系统。这些系统通常运行在提供有虚拟内存,进程和线程管理,UID安全机制 的Linux系统之上。在一些条件限制和特性要求下,我们主要关注以下几个目标:类数据,尤其是字节...

2019-09-26 09:08:51 159

原创 独立部署

环境jboss6.0 + CXF2.5.2 + spring3.0.71.设置项目的独立类加载器 新建文件META-INF/jboss-service.xmlFor .war files, in your jboss-web.xml, the following template applies:<jboss-web> <cla...

2019-08-30 13:38:20 572

原创 linux 的启动执行脚本 (+oracle)

1.在/etc/init.d目录新建可执行文件 A, 编辑A文件内容,写入要执行的shell , 赋予文件执行的权限2. 新建软连接 如: ln -s /etc/init.d/a /etc/rc.d/rcN.d/S99AAA (S 代表 start , 99执行优先级 ,N 服务起的运行级别)3.oracle的自动启动2.2.2 Automating Datab...

2019-08-30 13:37:34 226

原创 方法重载类型匹配顺序

优先primitivebyte -> byte, short, int ,long ,float ,double,Byte,Number,Objectshort -> short, int ,long ,float ,doublechar -> char, int ,long ,float ,doubleint -> ...

2019-08-30 13:36:32 391

原创 Android换肤系列 Activity资源拦截与替换

要实现对Android资源加载的拦截和替换,4.4 以下的版本可通过自定义Resources子类重写父类的loadDrawable和loadColorStateList两个方法,在方法中将请求资源替换成皮肤包中的资源。在4.4的系统中重写这两个方法在运行时会收到警告,但并不影响正常运行,但这种方式在Android 5.0 以后就不在适用了。     另外一种实现资源加载拦截的方式是通过替换Reso

2016-01-11 22:42:41 1471

原创 Android换肤系列 Activity资源加载

通常在Activity的onCreate回调方法中调用setContentView方法来设置界面要显示的layout,setContentView方法会对layout文件进行解析和资源的加载。这里以常用的View、ImageView、TextView为例看下加载过程。 从上面的步骤能看出,View的初始化过程中资源的加载主要是通过TypeArra

2015-11-15 12:29:15 1074

原创 Android换肤系列 Resources

在Android中Resources类用于获取应用资源(如:图片、原颜色、文本),并自动根据地区、语言、分辨率、屏幕方向等获取相应的资源。以下doc上对Resources类的介绍: 从上面介绍中我们可以知道,Resources基于AssetManager,资源请求是通过AssetManager类来完成,而java层的AssetManager最终则是通过C++层AssetManager类来完成arsc

2015-11-08 13:26:20 1198

原创 Android换肤系列

Android 换肤1.Android换肤系列 Resources 2.Android换肤系列 Activity资源加载 3.Android换肤系列 皮肤资源加载与替换

2015-11-08 00:03:32 674

转载 Oracle in与exists

rem create table big as select * from all_objects;rem insert /*+ append */ into big select * from big;rem commit;rem insert /*+ append */ into big select * from big;rem commit;rem insert /*+ appe

2015-10-18 20:56:10 428

原创 try finally return Exception

1.当finally中没有return语句时, 生成的字节码包含了对异常的处理public static int tryReturnFinally() { int i = 0; try { i++; i = i / 0; return i; } finally { i++;

2015-10-18 20:52:53 358

原创 Android Slqite 有无索引测试

public class SqliteTest extends ActivityInstrumentationTestCase2 { private static final String TAG = "SqliteTest"; private DBHelper dbHelper; public SqliteTest() {

2015-10-18 20:49:22 353

原创 ImageView.ScaleType

1.MATRIX2.FIT_XY3.FIT_START4.FIT_CENTER5.FIT_END6.CENTER7.CENTET_CROP8.CENTET_INSIDE

2015-10-18 20:46:52 310

原创 方法重载类型匹配顺序

byte   ->    byte, short, int ,long ,float ,double,Byte,Number,Objectshort  ->   short, int ,long ,float ,double,Short,Number,Objectchar   ->   char, int ,long ,float ,double,Character,Object

2014-12-02 21:10:13 837

原创 VM中不同ClassLoader权限的限制

package com.wy.classloader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.lang.reflect.Field;import java.lang.reflect.Method;import sun.reflect.Refle

2014-11-29 22:59:34 691

原创 java 远程监控

-Dcom.sun.management.jmxremote     -Dcom.sun.management.jmxremote.port="端口"     -Dcom.sun.management.jmxremote.ssl=false     -Dcom.sun.management.jmxremote.authenticate=false

2013-08-09 17:24:29 428

原创 Nginx 安装 ssl

建立用户:                 groupadd nginx                useradd -g nginx -r nginx        设置防火墙:                    iptables -I INPUT -p tcp --dport 8080 -j ACCEPT建立证书:                私钥:

2013-07-27 17:36:06 660

原创 oracle锁表

select   s.username,    decode(l.type,'TM','TABLE   LOCK',                                'TX','ROW   LOCK',                                NULL)   LOCK_LEVEL,    o.owner,o.object_name,o.objec

2012-08-27 14:34:21 392

原创 linux 的启动执行脚本 (+oracle)

1.在/etc/init.d目录新建可执行文件 A,  编辑A文件内容,写入要执行的shell , 赋予文件执行的权限2. 新建软连接 如:   ln -s  /etc/init.d/a   /etc/rc.d/rcN.d/S99AAA    (S 代表 start , 99执行优先级 ,N 服务起的运行级别)3.oracle的自动启动2.2.2 Automating Databa

2012-05-03 17:30:39 677

转载 mysql 调整

同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的被存以得到更好的性能。 安装好mysql后,配制文件应该在/usr/local/mysql/share/mysql目录中,配制文件有几个,有my-huge.cnf my-

2011-10-27 23:13:14 306

转载 mysql设置

key_buffer_size 非常重要,如果你使用MyISAM表。如果只使用MyISAM表,那么把它的值设置为可用内存的30%到40%。恰当的大小依赖索引的数量、数据量和负载 记住MyISAM使用操作系统的cache去缓存数据,所以你也需要为它留出内存,而且数据通常比索引要大很多。然而需要查看是否所有的 key_buffer总是在被使用key_buffer为4G而.MYI文件只有

2011-10-27 23:11:43 323

原创 源代码安装 mysql5.1 与 5.5

OS: Red Hat Enterprise Linux Server release 4.0 MySQL: 5.1.59源码 放置在 /root/insatll/mysql , 安装目的地是/usr/local/mysql-5.11.准备   创建一

2011-10-16 23:55:16 1094

Android 反编译工具

Android 反编译工具

2016-02-29

GIF 录制工具

GIF 录制工具

2016-02-29

Android软件安全与逆向分析

Android软件安全与逆向分析

2016-02-29

JavaNIO中文教程1.pdf

JavaNIO中文教程1.pdf

2012-11-11

tomcat源码分析

tomcat源码分析

2012-11-08

java7语言规范

java7语言规范

2012-11-08

java 内存泄露

主讲java内存泄露诊断和解决方案

2012-11-08

java面试题目,供大家学习面试题

java面试题目,供大家学习java面试题目,供大家学习java面试题目,供大家学习java面试题目,供大家学习java面试题目,供大家学习java面试题目,供大家学习java面试题目,供大家学习java面试题目,供大家学习java面试题目,供大家学习java面试题目,供大家学习java面试题目,供大家学习java面试题目,供大家学习java面试题目,供大家学习

2009-03-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除