对资源的合理利用是我们一直比较关注的话题,不仅仅是因为手机平台的资源相对比较有限,更主要的是要尽量以Smart的方式对待任何事情。举个例子,有的时候我们经常要面对一个庞大的数据堆栈,但却仅仅使用小部分的数据,这样一来就提出了动态数组的概念,目的是通过特定的需要来浮动数组的容量,这样就能避免不必要的资源浪费。
在Android平台上,我们可以通过定义一个动态数组的类来实现前面所提到的需求:
import android.util.Log;
public class DynamicArray {
private Object[] data;
public DynamicArray() {
data = new Object[1];
}
public Object get(int position) {
if (position >= data.length)
return 0;
else
return data[position];
}
public void put(int position, Object value) {
if (position >= data.length) {
int newSize = 2 * data.length;
if (position >= newSize)
newSize = 2 * position;
Object[] newData = new Object[newSize];
System.arraycopy(data, 0, newData, 0, data.length);
data = newData;
Log.v("x", "Size of dynamic array increased to " + newSize);
}
data[position] = value;
}
}
调用方法:
/* Greate Array */
DynamicArray arr = new DynamicArray();
/* Add Integers and Strings */
arr.put(0, 123);
arr.put(1, "Hi There");
/* Output Array Content */
Log.v("Dynamic Array Test", "0: " + arr.get(0) + ", 1: " + arr.get(1));
查看原文(Via proxy)
Posted in Resource, Tutorial |



