摘要: 直接拿来用!最火的Android开源项目(一)http://www.csdn.net/article/2013-05-03/2815127-Android-open-source-projects直接拿来用!最火的Android开源项目(二)http://www.csdn.net/article/2013-05-08/2815145-Android-open-source-projects-two直接拿来用!最火的Android开源项目(完结篇)http://www.csdn.net/article/2013-05-21/2815370-Android-open-source-projects 阅读全文
posted @ 2013-05-30 14:45 MayDay℃ 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 在Android应用里,最耗费内存的就是图片资源。而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常。所以,对于图片的内存优化,是Android应用开发中比较重要的内容。1) 要及时回收Bitmap的内存Bitmap类有一个方法recycle(),从方法名可以看出意思是回收。这里就有疑问了,Android系统有自己的垃圾回收机制,可以不定期的回收掉不使用的内存空间,当然也包括Bitmap的空间。那为什么还需要这个方法呢?Bitmap类的构造方法都是私有的,所以开发者不能直接new出一个Bitmap对象,只能通 阅读全文
posted @ 2013-05-30 14:41 MayDay℃ 阅读(157) 评论(0) 推荐(0) 编辑
摘要: Java从JDK1.2版本开始,就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。这里重点介绍一下软引用和弱引用。如果一个对象只具有软引用,那么如果内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。软引用可以和一个引用队列(ReferenceQueue)联合使用,如果软引用所引用的对象被垃圾回收,Java虚拟机就会把这个软引用加入到与之关联的引用队列中。如果一个对象只具有弱引用,那么在垃圾回收器线程扫 阅读全文
posted @ 2013-05-30 14:39 MayDay℃ 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻辑,但是性能不一定是最优化的。一般来说,优秀的程序员在写完代码之后都会不断的对代码进行重构。重构的好处有很多,其中一点,就是对代码进行优化,提高软件的性能。下面我们就从几个方面来了解Android开发过程中的代码优化。1)静态变量引起内存泄露在代码优化的过程中,我们需要对代码中的静态变量特别留意。静态变量是类相关的变量,它的生命周期是从这个类被声明,到这个类彻底被垃圾回收器回收才会被销毁。所以,一般情况下,静态变量从所在的类被使用开始就要一直占用着内存空间,直到程序退出。如果不注意,静态变量引用了占用大量内存的资源, 阅读全文
posted @ 2013-05-30 14:37 MayDay℃ 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 本篇博文主要讨论一下复杂界面中常用的一种技术——界面延迟加载技术。有时候,我们的页面中可能会包含一些布局,这些布局默认是隐藏的,当用户触发了一定的操作之后,隐藏的布局才会显示出来。比如,我们有一个Activity用来显示好友的列表,当用户点击Menu中的“导入”以后,在当前的Activity中才会显示出一个导入好友的布局界面。从需求的角度来说,这个导入功能,一般情况下用户是不使用的。即大部分时候,导入好友的布局都不会显示出来。这个时候,就可以使用延迟加载的功能。ViewStub是一个隐藏的,不占用内存空间的视图对象,它可以在运行时延迟加载布局资源文件。当ViewStub被设置为可见,或者调用i 阅读全文
posted @ 2013-05-30 14:35 MayDay℃ 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 在一个应用程序中,一般都会存在多个Activity,每个Activity对应着一个UI布局文件。一般来说,为了保持不同窗口之间的风格统一,在这些UI布局文件中,几乎肯定会用到很多相同的布局。如果我们在每个xml文件中都把相同的布局都重写一遍,一个是代码冗余,可读性很差;另一个是修改起来比较麻烦,对后期的修改和维护非常不利。所以,一般情况下,我们需要把相同布局的代码单独写成一个模块,然后在用到的时候,可以通过<include /> 标签来重用layout的代码。常见的,有的应用在最上方会有一个标题栏。类似下图所示。图 标题栏的示例 如果项目中大部分Activity的布局都包含这样的标 阅读全文
posted @ 2013-05-30 14:33 MayDay℃ 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 在Android应用开发过程中,屏幕上控件的布局代码和程序的逻辑代码通常是分开的。界面的布局代码是放在一个独立的xml文件中的,这个文件里面是树型组织的,控制着页面的布局。通常,在这个页面中会用到很多控件,控件会用到很多的资源。Android系统本身有很多的资源,包括各种各样的字符串、图片、动画、样式和布局等等,这些都可以在应用程序中直接使用。这样做的好处很多,既可以减少内存的使用,又可以减少部分工作量,也可以缩减程序安装包的大小。下面从几个方面来介绍如何利用系统资源。1)利用系统定义的id比如我们有一个定义ListView的xml文件,一般的,我们会写类似下面的代码片段。<ListVi 阅读全文
posted @ 2013-05-30 14:31 MayDay℃ 阅读(465) 评论(0) 推荐(0) 编辑