Closed cellpacing closed 9 years ago
public Context mContext;
private LocalImageLoader(Context context) {
mContext = context;
// 获取应用程序的最大内存
final int maxMemory = (int)(Runtime.getRuntime().maxMemory() / 1024);
// 用最大内存的1/4来存储图片
final int cacheSize = maxMemory / 4;
mMemoryCache = new LruCache<String, Bitmap>(cacheSize) {
// 获取每张图片的大小
@Override
protected int sizeOf(String key, Bitmap bitmap) {
return bitmap.getRowBytes() * bitmap.getHeight() / 1024;
}
};
}
/**
* 通过此方法来获取实例
*
* @return
*/
public static LocalImageLoader getInstance() {
if (mInstance == null) {
throw new RuntimeException("必须先调用init方法");
}
return mInstance;
}
public static void init(Context context) {
mInstance = new LocalImageLoader(context.getApplicationContext());
}
我是这样解决的,然后再在主项目调用init方法
如果是作为库项目,你也可以在主项目里面新建自己的 Application 然后继承自ICApplication 这个类就行啦。 当然你这样改也是ok的。
size = DeviceUtil.getDeviceSize(ICApplication.getContext()); 如果这个项目作为库项目,这里怎么获取context对象,