摘要:
1) 拒绝在 Bitmap 上浪费你的内存:只在需要显示的时候加载到内存里或者通过缩放原图来减小内存占用。 2) 使用优化后的数据容器:请使用 Andorid 框架中优化过的数据容器,例如 SparseArray,SparseBooleanArray 和 LongSparseArray。类似于 Ha 阅读全文
2016年11月14日
摘要:
6.1.1 Android的内存机制 Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的. 那么GC怎么能够确认某一个对象是不是已经被废弃了呢?Java采用 阅读全文
摘要:
热修复是在应用的App包发布到市场之后,出现了Bug,无需替换包来进行在线更新的一种技术,对用户是无感知的。目前广义上有两种方案可以实现代码的替换,一种是类的替换,基于Classloader;另一种是方法的替换,而这两种方式各有优缺点。 方法的替换 方法的替换 如图所示,方法的替换的原理如下:在An 阅读全文
摘要:
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的以及动态调用对象的方法的功能称为java语言的反射机制。 Java反射机制主要提供了以下功能: 在运行时判定任意一个对象所属的类; 在运行时构造任意一个类的对 阅读全文
摘要:
JNI开发流程主要分为以下6步: JNI是Java众多开发技术中的一门,意在利用本地代码,为Java程序提供 更高效,更灵活的拓展。 NDK是Google为Android进行本地开发而放出的一个本地开发工具, 包括Android的Native API、公共库以及编译工具, 注意,NDK需要Andro 阅读全文
摘要:
基本类型与引用类型、强引用和弱引用 Java中数据类型可分为两大类:引用类型(reference)和基本类型(primitive)。 1)基本类型有8种:boolean、char、byte、short、int、long、float、double。 它们都有相应的包装类,这些包装类都属于引用类型,它们 阅读全文
摘要:
1.数据的逻辑结构: 1)线性结构:(只有一个开始结点和一个终端结点) 2)非线性结构:(一个结点有多个前驱结点和后继结点) A: 集合:(元素之间的关系较为松散) B: 线性结构:(元素之间存在严格的一对一的关系) C: 树形结构:(元素之将存在严格的一对多关系) D: 网状结构: (元素之间存在 阅读全文
摘要:
JAVA 中为什么String 是immutable的? 1.设计:当创建一个String(String str2 = "abc"), 如果它(原先有一个String str = "abc")已经在pool(其实是内存中的栈)中存在,则会返回已存在String的引用,相反,怎会创建一个新的Strin 阅读全文
摘要:
相信很多人都遇到过App 莫名其妙就崩溃的情况,尤其是一些配置很低的手机,重现场景就是在App 切换到后台,闲置了一段时间后再继续使用时,就会崩溃。导致上述崩溃发生的罪魁祸首就是全局变量。 在内存不足的时候,系统会回收一部分闲置的资源,由于App 被切换到后台,所以之前存放的全局变量很容易被回收,这 阅读全文
摘要:
1 ArrayAdapter 只可以简单的显示一行文本 2 SimpleAdapter 可以显示比较复杂的列表,包括每行显示图片、文字等,但不能对列表进行后期加工,也是只是单纯的负责显示(当然可以设计复杂点的布局来显示复杂列表),例如,每行显示不同背景等。 3 BaseAdapter 可以实现复杂的 阅读全文