摘要:
从Android代码中来记忆23种设计模式 1 单例模式 单例模式可以说是最容易理解的模式了,也是应用最广的模式之一,先看看定义吧。 定义:确保单例类只有一个实例,并且这个单例类提供一个函数接口让其他类获取到这个唯一的实例。 什么时候需要使用单例模式呢:如果某个类,创建时需要消耗很多资源,即new出 阅读全文
摘要:
Java虚拟机(一)结构原理与运行时数据区域 1.2 Java虚拟机执行流程 当我们执行一个Java程序时,它的执行流程是怎样的呢?如下图所示 从上图可以看到Java虚拟机与java语言没有什么必然联系,它只与特定的二进制文件:Class文件有关。 2.Java虚拟机结构 这里所讲的体系结构,是指的 阅读全文
摘要:
Application Not Responding 在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭 阅读全文
摘要:
Android 内存溢出解决方案(OOM) 整理总结 在内存引用上做些处理,常用的有软引用、弱引用 在内存中加载图片时直接在内存中作处理,如:边界压缩 动态回收内存 优化Dalvik虚拟机的堆内存分配 自定义堆内存大小 内存优化核心思想:减少内存使用,能不new的不new,能少分配的少分配。因为分配 阅读全文
摘要:
[译]Android内存泄漏的八种可能(上) Android防止内存泄漏的八种方法(下)。 Static Activities 在类中定义了静态Activity变量,把当前运行的Activity实例赋值于这个静态变量。如果这个静态变量在Activity生命周期结束后没有清空,就导致内存泄漏。因为st 阅读全文
摘要:
Android内存泄露——全解析和处理办法 内存泄露 说到内存泄露,就不得不提到内存溢出,这两个比较容易混淆的概念,我们来分析一下。 内存泄露:程序在向系统申请分配内存空间后(new),在使用完毕后未释放。结果导致一直占据该内存单元,我们和程序都无法再使用该内存单元,直到程序结束,这是内存泄露。 内 阅读全文
摘要:
Android控件TextView的实现原理分析 为什么要规定所有与UI相关的操作都必须在主线程中执行呢?我们知道,这些与UI相关的操作都涉及到大量的控件内部状态以及需要访问窗口的绘图表面,也就是说,要大量地访问控件类的成员变量以及窗口绘图表面里面的图形缓冲区,因此,如果不将这些与UI相关的操作限定 阅读全文