Android项目之本地图片加载
2017-02-19 11:57
113 查看
后台运行:
前台运行:
protected void runOnBackground(AsyncResult<Bitmap> asyncResult) { if (isCancel.get()) { return; } File file = new File(imageLoadOptions.getFilePath()); if (file.exists()) { // 文件存在,开始加载 int width = imageLoadOptions.getImageLoadSize().getWidth(); int height = imageLoadOptions.getImageLoadSize().getHeight(); Bitmap bitmap; if (width > 0 || height > 0) { bitmap = BitmapUtils.decodeFile(file.getAbsolutePath(), width, height); if (isCancel.get()) { return; } if (bitmap != null) { try { ImageLoadSize imageLoadSize = imageLoadOptions.getImageLoadSize(); bitmap = BitmapUtils.scaleBitmap(bitmap, width, height, imageLoadSize.getImageScaleType()); } catch (Exception e) { e.printStackTrace(); bitmap = null; } } } else { bitmap = BitmapUtils.decodeFile(imageLoadOptions.getFilePath()); } if (bitmap == null) { asyncResult.setResult(OnLoadResultListener.RESULT_LOAD_FAILED); } else { asyncResult.setResult(OnLoadResultListener.RESULT_LOAD_SUCCESSFUL); asyncResult.setData(bitmap); } } else { // 文件不存在 asyncResult.setResult(OnLoadResultListener.RESULT_FILE_NOT_EXISTS); } }
前台运行:
protected void runOnUIThread(AsyncResult<Bitmap> asyncResult) { if (!isCancel.get()) { onLoadResultListener.onLoadResult(asyncResult.getResult(), asyncResult.getData()); } }
相关文章推荐
- android之图片异步加载并缓存到本地
- android项目源码异步加载远程图片的小例子
- 在Android中ImageView无法显示加载的本地SDCard图片。
- android项目源码异步加载远程图片的小例子
- android项目源码异步加载远程图片的小例子
- Android 图像系列: 将本地图片加载到Drawable
- android 加载本地图片报内存溢(out of memory)解决办法一
- android之图片异步加载并缓存到本地
- android webview 加载本地图片
- Android 加载本地图片(文件管理器中的图片墙)
- Android Listview 加载图片优化--本地加载大量图片,解决滑动卡顿现象(滑动停止加载图片)
- Android ListView 异步加载图片并缓存到本地
- android异步加载图片并缓存到本地实现方法
- android使用ImageView加载本地SdCard图片和加载网络图片
- android 加载本地图片与网络图片
- android 利用ImagevView加载本地图片并实现等比缩放
- Android图片异步加载与本地缓存的实现
- android图片异步加载到本地
- Android 异步加载网络图片并缓存到本地 软引用 学习分享
- Android 异步加载网络图片并缓存到本地