摘要:
为什么需要AsyncTask? 在Android当中,当一个应用程序的组件启动的时候,并且没有其他的应用程序组件在运行时,Android系统就会为该应用程序组件开辟一个新的线程来执行。默认的情况下,在一个相同Android应用程序当中,其里面的组件都是运行在同一个线程里面的,这个线程我们称之为Mai 阅读全文
摘要:
Arraylist、LinkedList、HashMap、SparseArray(Android独有) 1、Arraylist与LinkedList相比,区别在于Arraylist查找数据更快,而LinkedList插入数据更快 Arraylist查找数据采用的方式跟数组相似,而访问数组查找数据的方 阅读全文
摘要:
1、资源性对象未关闭 对于资源性对象不再使用时,应该立即调用它的close()函数,将其关闭,然后再置为null。例如Bitmap 等资源未关闭会造成内存泄漏,此时我们应该在Activity销毁时及时关闭。 2、注册对象未注销 例如BraodcastReceiver、EventBus未注销造成的内存 阅读全文
摘要:
Synchronized在JVM里的实现都是基于进入和退出Monitor对象来实现方法同步和代码块同步,虽然具体实现细节不一样,但是都可以通过成对的MonitorEnter和MonitorExit指令来实现。 对同步块,MonitorEnter指令插入在同步代码块的开始位置,而monitorExit 阅读全文
摘要:
资源文件通过aapt.exe生产R.java文件 其他资源文件通过aidl生产java.interfaces文件 以上生成的两种java文件与代码里面的java文件编译成.class文件 用dx.bat工具,将.class文件打包生成.dex文件 将资源文件和其他资源文件与.dex文件一起打包生成 阅读全文
摘要:
OkHttp介绍 由Square公司贡献的一个处理网络请求的开源项目,是目前Android使用最广泛的网络框架。从Android4.4开始HttpURLConnection的底层实现采用的是OkHttp。 支持HTTP/2并允许对同一主机的所有请求共享一个套接字 通过连接池,减少了请求延迟 默认通过 阅读全文
摘要:
了解APK结构 在讨论如何缩减应用的大小之前,需要了解应用APK的结构。APK文件是由一个Zip压缩文件组成,其中包含构成应用的所有文件。其中包括Java类文件、资源文件及已编译资源的文件。 APK 包含以下目录: META-INF/ :包含 CERT.SF 和 CERT.RSA 签名文件,以及 M 阅读全文
摘要:
1、经典懒汉 public class Danli { private volatile static Danli danli1; public static Danli getInstance() { if (danli1 == null) { synchronized (Danli.class) 阅读全文