- 博客(15)
- 资源 (20)
- 收藏
- 关注
原创 Java编程思想(04)——重构让代码更简洁(四)
使用类替换类型代码重构前public class LabelComparator implements Comparator, Serializable { private static final long serialVersionUID = 1L; public static final int ASC = 1; public static final int D
2015-02-28 23:15:29 754
原创 Java编程思想(03)——重构让代码更简洁(三)
满足循环就跳出重构前public boolean contain(int year, Month month, int day) { boolean found = false; for (IPolyDate date : dateList) { if (date.same(year, month.getMonth(), day)) { found = tr
2015-02-27 21:57:08 533
原创 Java编程思想(02)——重构让代码更简洁(二)
尽量简洁重构前f ( flag == 1 ){ return true;}else{ return false;}重构后return flag == 1;使用三位运算符重构前if ( "Male".equals(gender) ) { return "Mr.";}else{ return "Mrs
2015-02-27 21:54:06 837 1
原创 Git使用教程(一)——Git提交代码到远程服务器
学习应该循序渐进,不应该是一蹴而就,也不要过分追求完美,是不断修复弥补自己的不足。1、下载Git不用说了,这个是必须的,也是最简单的步骤,地址如下:http://git-scm.com/download这里会提供三个版本的下载地址,读者可以自行查找。2、创建代码库远程的代码库创建,我们可以直接去github上申请一个账号,然后在上面创建代码库,这里不细说了。
2015-02-27 11:48:48 20941 1
原创 Java编程思想(01)——重构让代码更简洁(一)
减少重复计算重构前if(list != null && list.size() > 0){ for(int i = 0; i < list.size(); i++){ //skip... }}重构后if(list != null){ for(int i = 0, len = list.size(); i < len; i++){ //sk
2015-02-26 22:07:18 1665
原创 Android Studio(03)——签名打包以及其它问题
1、混淆打包使用了Gson之后,打包混淆会出现问题,这里需要指定不混淆1.1 关注两个问题1)实体类是否进行了序列化,不然反序列化就容易出现问题2)是否使用了泛型?比如集合1.2 自定义防止混淆-keepattributes Signature-dontwarn com.123.**-keep class com.123.entity.** { *;}
2015-02-23 12:57:43 559
原创 Android Studio(02)——常用快捷键收集总结
1、双键删除一行代码,选中那一行,Ctrl+X/Y复制本行到下一行,选中本行之后,Ctrl+D全局导入未导入的包,Ctrl+O选中一个类名字,导入该类的包名:Alt+Enter 2、三键联合Ctrl+Alt+Space 类名自动完成Ctrl+Alt+M 抽取为一个方法 3、其它快捷键Shift+F6 表示改名
2015-02-20 21:42:12 834
原创 Android Studio(01)——导入外部引用Library
1、背景介绍 在使用Eclipse开发的时候,为了jar包可以复用,而且为了精简我们的代码,可以使用外部文件库这种东西。但是,这样的东西在Android Studio上是比较麻烦的,本文仅仅介绍,在AS上如何使用ShareSDK这个外部库文件。2、集成ShareSDK 需要找到文件中的settings.guadle文件,在其中添加如下句子:i
2015-02-20 21:31:55 1242
原创 深入理解Android(10)——Android中的Thread与线程类解析
1、混淆打包使用了Gson之后,打包混淆会出现问题,这里需要指定不混淆1.1 关注两个问题1)实体类是否进行了序列化,不然反序列化就容易出现问题2)是否使用了泛型?比如集合1.2 自定义防止混淆-keepattributes Signature-dontwarn com.123.**-keep class com.123.entity.** { *;}
2015-02-13 23:42:11 687
原创 深入理解Android(09)——深入理解RefBase、SP和WP
1、背景概述RefBase是Android中所有对象的始祖,类似于MFC中的CObject或者Java中的Object对象。2、影子对象文件的位置为:framework/base/libs/utils/RefBase.cppRefBase::RefBase() : mRefs(new weakref_impl(this)){// mRefs是RefBase的
2015-02-09 14:23:39 625
原创 深入理解Android(08)——深入理解zygote的分裂原理
1、AvtivityManagerServiceAvtivityManagerService也是由SystemServer创造的。我们看看ActivityManagerService中的startProcessLocked函数,代码如下所示: private final void startProcessLocked(ProcessRecord app, St
2015-02-05 09:24:54 880
原创 深入理解Android(07)——深入理解SystemServer
1、背景知识SystemServer的进程名实际上叫做“system_server”,这里我们可以将其简称为SS,SS作为zygote的重要分支,是非常重要的一部分。2、SystemServer诞生3、SystemServer用来干嘛4、真实的SystemServer5、SystemServer的总结
2015-02-04 23:25:47 665
原创 深入理解Android(06)——Java世界的入口ZygoteInit
1、ZygoteInit源码CallStaticVoidMethod最终将调用com.android.internal.os.ZygoteInit的main函数,这里是函数代码,如下所示:base/core/java/com/android/internal/os/ZygoteInit.java public static void main(String argv[]) {
2015-02-03 23:55:13 1655
原创 深入理解Android(05)——深入理解zygote
1、概述Android系统运行这两个完全不同的世界1)Java世界,Google提供的SDK主要就是针对这个世界的。在这里运行的程序都是基于Dalvik虚拟机的Java程序。2)Native世界,也就是用Native语言C或者C++开发的程序,他们组成了Native世界。zygote中文名为“受精卵”,它和Android系统中的Java世界有着重要的关系。2、zygot
2015-02-01 23:20:57 679
Smali指令中文手册
2014-09-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人