摘要:除了缓存图片意外,还有一些其他的方式来促进GC的效率和图片的复用.不同的Android系统版本有不同的处理策略.BitmapFun中就包含了这个类,能够使我们高效地构建我们的项目. 为了开始以下教程,我们需要先介绍一下Android系统对Bitmap管理的进化史. 在Android2.2(API level 8)以及更低的版本中,当垃圾被回收时,应用的线程会被停止,这会造成一定程度的延时.在A...
阅读全文
摘要:如果只需要加载一张图片,那么直接加载就可以.但是,如果要在类似ListView,GridView或者ViewPager的控件中加载大量的图片时,问题就会变得复杂.在使用这类控件时,在短时间内可能会显示在屏幕上的图片数量是不固定的. 这类控件会通过子View的复用来保持较低的内存占用.而Garbage Collector也会在View被复用时释放对应的Bitmap,保证这些没用用到的Bitmap不会...
阅读全文
摘要:在使用BitmapFactory.decode*方法解析图片时,如果要读取的图片在SD卡上或者网络位置(或者任何内存意外的位置),则该过程不能在主线程中执行. 因为这个过程所耗费的时间是不确定的,这个时间跟多种因素有关(从磁盘或者网络读取数据的速度,图片的大小,CPU的工作效率等).如果这其中的某一项阻塞了UI线程的执行,则就会出现ANR异常. 使用异步任务处理图片 AsyncTask为我们提供了...
阅读全文
摘要:1.Read Bitmap Dimensions and Type 读取图片的尺寸和类型 //创建一个Options,用于保存图片的参数 BitmapFactory.Options options = new BitmapFactory.Options(); //设置是否只读取图片的参数信息 options.inJustDecodeBounds = true; //由于inJustDecodeB...
阅读全文
摘要:现在,随着移动应用的日益普及,移动语音应用越来越受到用户的重视和喜爱,本文将指导用户如何在Android SDK中使用语音引擎去创建简单的应用。在Android中使用语音引擎其实是很容易的事情,通过若干步骤就可以实现了,尽管其中有些地方在使用中要注意。在本教程中,将一步步直接教读者如何创建语音应用,具体的代码在文末有下载。 步骤一 创建Android工程 我们首先创建一个Android工程...
阅读全文
摘要:<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.itcast.db" android:versionCode="1" android:versionName="1.0" > ...
阅读全文
摘要:这是一个简单的Demo,目的是:读取文件夹下图片生成略缩图并点击显示大图。 先新建一个工程,创建一个ThumbnailsWindows的类,继承LinearLayout。代码如下: package org.winplus.thum.view; import java.io.File; import java.io.FileInputStream; import java.io.FileNot...
阅读全文