- 博客(11)
- 资源 (12)
- 收藏
- 关注
原创 Android开发之内存优化探讨(2)空间复杂度与时间复杂度以及实际场景的选择
关于空间复杂度与时间复杂度,这个一般指的是算法。 在Android开发里面,我指的是一个app占用内存的多少与用户体验度的关系。我们都知道空间复杂度与时间复杂度是相互矛盾的,我们所要寻求的是一个平衡而已。举个Android开发中最为常见的例子。 当我们在一个activity里面嵌套4个fragment的时候,点击下方的四个按钮,那么4个fragment会切换这个种效果。 那么,我们一般有两个方
2016-05-31 16:41:53 643
原创 Android开发之内存优化探讨(1)app内存分配原则。
我们一般是怎么去评价一个app的性能呢? 在保证功能完善的情况下(这一点,一般做过一年以上的开发都能实现),另外就是流畅度了,通俗点说,就是这个app浏览切换起来卡不卡。 虽然现在的Android手机不断更新换代,系统运行内存也越来越大,所以可能一般的优化很难看到效果,只有在比较低端的手机上可以提现出来,但是本着我们对自己的严格要求,还是要在内存优化这方面深入了解下的。首先,我们要明白一点,关于
2016-05-31 16:18:50 1886
原创 Android开发之消息机制详解(2)线程间的通信AsyncTask
我们如果要执行一个耗时的操作,一般都会开个线程,那么在Android里就有两种方法,一种就是我上篇文章中讲到的用handler+thread,而另外一种就是今天要讲到的AsyncTask。 代码比较简单:package com.example.test;import android.annotation.SuppressLint;import android.app.Activity;impo
2016-05-30 15:30:34 391
原创 Android开发之消息机制详解(1)线程间的通信handler
做Android开发的同学,可能都知道这么一点,UI更新只能在主线程中执行。 这是为什么呢?1.这其实是因为UI更新并非是线程安全的,我们使用handler其实是将这个消息Message添加到消息队列MessageQueue中,而主线程中的循环管理器Looper会不断去循环遍历MessageQueue,从MessageQueue中取出消息,然后执行对应的操作。2.这里,Looper从Message
2016-05-27 15:30:36 488 1
原创 Android开发之Activity以及View的生命周期详解
关于activity和View的生命周期,网路上已经有很多详细的解释了。并且有一副很经典的示意图,简单地就能百度到,我这里就不放上去了。这里我针对网路上的有些没有讲到的,或者有些误区,然后结合两者说下。onCreate(Bundle savedInstanceState)和onFinishInflate()从字面上都可以看出,onCreate是activity的创建回调,一般我们会把setCon
2016-05-23 13:25:29 3262
原创 Android开发之fragment的可替代性的探讨
做Android的同学肯定都用过fragment,最常见的就是主界面+下面四个按钮,点击按钮四个fragment相互切换这种模式。 那么,fragment到底是什么东西呢?网上很多人都说fragment是activity的碎片,因为它与activity拥有类似的生命周期,非常方便管理,而且可以使代码分块,结构更加清晰。 这一点确实没错。 那么,除了在代码结构以及运用方便上带来的好处之外,fra
2016-05-17 14:32:40 1361 1
原创 Android开发之图片详解(5)
这是关于图片的最后一篇。 主要说下bitmap的应用场景,以及该如何缩放。 这里我举了一个拍照显示的场景,这个场景其实用的也是比较多的。 先上示例代码:package com.example.imagetext;import java.io.File;import java.io.IOException;import android.annotation.SuppressLint;impo
2016-05-13 13:35:43 578 1
原创 Android开发之图片详解(4)
接上一篇。 主要研究下bitmap和drawable的使用,以及两者的区别。 先看测试代码:package com.example.imagetext;import java.util.ArrayList;import java.util.List;import com.example.imagetext.R.drawable;import android.annotation.Suppres
2016-05-11 10:36:10 2834
原创 Android开发之图片详解(3)
在Android中,Bitmap普遍是造成OOM的罪魁祸首,而且普遍都认为bitmap所占用的内存远大于Drawable,而且网上也提供了很多内存回收的方法以及建议,比如在activity销毁后主动去调用bitmap.recyle()方法等,那么到底是不是真的呢?我专门针对bitmap和drawble做了以下测试: 为了方便测出OOM,我专门将一张比较大的图片1270*1920放在了mdpi的文件
2016-05-10 14:00:57 948
原创 Android开发之图片详解(2)
这一篇 主要分析下不同drawable文件夹下的图片在Android手机上的加载效果。 首先在drawble-mdpi和drawble-xhdpi文件夹下分别放入同一张图片,注意是同一张图片,要起不同的名字,如图: 测试代码如下:package com.example.imagetext;import java.util.ArrayList;import java.util.List;impo
2016-05-05 15:24:47 536
原创 Android 开之图片详解(1)
在Android应用里面,用到最多的可能就是图片的显示了,而很多OOM的产生也是因为图片占用过多内存导致的,之前一直对这些概念很模糊,自己也在开发中不断的学习以及实验,在网上也查过很多资料,答案也是五花八门,现在本着记录的想法,做了一个整理。首先:说下像素(PX),Android开发相对单位(dp),频幕密度(dpi,在打印机上也叫ppi,其实是一样的概念),以及物理宽高(英寸)的关系。比如一个对角
2016-05-04 15:11:23 453 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人