`
king_tt
  • 浏览: 2274579 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

[代码片段] 【转】Android以最省内存的方式读取本地资源的

 
阅读更多
1、获取本地图片并指定高度和宽度
?
代码片段,双击复制
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* 获取本地图片并指定高度和宽度
*/
public static Bitmap getNativeImage(String imagePath) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
// 获取这个图片的宽和高
Bitmap myBitmap = BitmapFactory.decodeFile(imagePath, options); // 此时返回myBitmap为空
// 计算缩放比
int be = (int) (options.outHeight / (float) 200);
int ys = options.outHeight % 200;// 求余数
float fe = ys / (float) 200;
if (fe >= 0.5)
be = be + 1;
if (be <= 0)
be = 1;
options.inSampleSize = be;
// 重新读入图片,注意这次要把options.inJustDecodeBounds 设为 false
options.inJustDecodeBounds = false;
myBitmap = BitmapFactory.decodeFile(imagePath, options);
return myBitmap;
}


2、以最省内存的方式读取本地资源的图片
?
代码片段,双击复制
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
/**
* 以最省内存的方式读取本地资源的图片
*
* @param context
* @param resId
* @return
*/
public static Bitmap readBitMap(Context context, int resId) {
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Bitmap.Config.RGB_565;
opt.inPurgeable = true;
opt.inInputShareable = true;
// 获取资源图片
InputStream is = context.getResources().openRawResource(resId);
return BitmapFactory.decodeStream(is, null, opt);
}


3、以最省内存的方式读取本地资源的图片 或者SDCard中的图片

?
代码片段,双击复制
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
/**
* 以最省内存的方式读取本地资源的图片 或者SDCard中的图片
*
* @param imagePath
* 图片在SDCard中的路径
* @return
*/
public static Bitmap getSDCardImg(String imagePath) {
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Bitmap.Config.RGB_565;
opt.inPurgeable = true;
opt.inInputShareable = true;
// 获取资源图片
return BitmapFactory.decodeFile(imagePath, opt);
}


分享到:
评论

相关推荐

    Android读取并显示word文件的代码例子

    下面是一个简单的代码片段,展示了如何使用docx4j读取docx文件: ```kotlin val file = File("path_to_your_docx_file.docx") val packagePartSource = PackagePartSource(file.uri.toString()) val docxPackage = ...

    cocos2d-x 读取zip的代码

    在探讨“cocos2d-x读取zip的代码”这一主题时,我们深入解析如何在cocos2d-x游戏引擎中高效地处理压缩文件(zip格式),以实现资源的有效加载与利用。cocos2d-x是一款跨平台的游戏开发框架,支持iOS、Android、Windows...

    读取手机本地图片和文本文件(Lwuit版)

    在LWUIT中,你可能会看到类似以下的代码片段: ```java try { File file = new File("/path/to/image.jpg"); Image img = Image.createImage(file); // 设置到组件 someComponent.setIcon(img); ...

    读取XML本地化文件并解析

    XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它以其结构化、可扩展性和易于解析的特点广泛应用于软件开发中,尤其是在处理配置文件、数据交换和本地化资源等方面。本主题将深入探讨如何...

    Android高级应用源码-解析word文档,过程详细,易懂,代码可直接复用.rar

    在Android平台上,开发人员经常需要处理各种文档格式,如Word文档。这个压缩包提供了一个详细的教程,涵盖了如何在...提供的源码将是一个实践性的教程,帮助开发者深入理解这一过程,并提供可直接复用的代码片段。

    Android实用的代码片段 常用代码总结

    在Android开发中,掌握一些实用的代码片段能够极大地提高开发效率和代码质量。以下是对给定内容的详细解释和扩展: 1. **检查SD卡状态**: Android提供了`Environment.getExternalStorageState()`方法来获取SD卡的...

    Android代码-从网络上获取图片.rar

    这个“Android代码-从网络上获取图片.rar”压缩包可能包含了实现这一功能的相关示例代码。下面,我们将深入探讨如何在Android中实现从网络下载和显示图片,以及涉及的相关知识点。 1. **网络请求库**: 在Android中...

    android 打开各种文档的demo

    在Android平台上,开发...这个“android 打开各种文档的demo”很可能包含了以上提及的实现步骤和代码片段,帮助开发者快速集成文档打开功能。通过学习和理解这些知识点,你可以为用户提供更全面、便捷的文件操作体验。

    Android播放器歌词同步

    在提供的压缩包文件"歌词同步"中,可能包含了示例的LRC文件、解析和同步的代码片段,开发者可以参考这些资源来实践自己的Android歌词同步功能。总的来说,开发Android音乐播放器的歌词同步功能需要理解LRC文件格式,...

    Android 头像适配6.0、 7.0、 8.0

    在Android开发中,头像适配是一个常见的需求,特别是在社交应用或者用户个人资料展示的场景中。...提供的`mmexport1546494030790[1].png`和`tou.zip`文件可能是示例头像或者代码片段,具体用途需根据实际情况解压查看。

    Android代码-私密通讯录源码.zip

    这个源码提供了实现这样一个应用的完整代码结构,对于学习Android开发,特别是隐私保护和数据加密方面,是非常有价值的资源。 在Android开发中,私密通讯录的核心功能包括: 1. **数据存储**:私密通讯录可能使用...

    精选Android应用实例

    在“精选Android应用实例”这个压缩包中,我们很可能会找到一系列有关Android应用程序开发的源代码实例。这些实例是开发者们在实践中提炼出来的经典案例,旨在帮助初学者和有经验的开发者更好地理解和掌握Android...

    Android 阅读器源码

    - **读取存储权限**:用于读取本地的电子书文件。 - **网络权限**:用于云同步或下载电子书。 8. **版本控制与更新**: - **版本检查**:应用可能会定期检查更新,提示用户升级到最新版本。 - **热更新技术**:...

    android3D全景相册

    - **读取与保存**:处理相册中的图片文件,可以从本地存储读取,也可以从网络下载。 8. **框架和库的使用**: - **Android开源库**:可能需要使用如Picasso、Glide等库来加载和显示图片,或者使用Google VR SDK来...

    itcast传智播客android多线程断点续传下载代码

    本项目"itcast传智播客android多线程断点续传下载代码"提供了完整的实现方案,允许用户在中断下载后从上次停止的位置继续,提高了用户体验。以下是关于这个项目的关键知识点: 1. **多线程下载**: - 多线程下载是...

    android-show-image-and-path.7z

    这个"android-show-image-and-path.7z"压缩包可能包含了一个示例项目或代码片段,用于演示如何在Android应用中实现这些功能。让我们深入探讨一下Android中显示图像和获取图像路径的相关知识点。 1. **显示图像** -...

    Android 懒加载

    2. **数据加载**:在确定需要加载数据后,我们可以发起网络请求或者读取本地存储的数据。这里要注意异步处理,避免阻塞主线程,通常会使用`AsyncTask`、`Retrofit`、`LiveData`等工具进行异步加载。 3. **更新UI**...

    基于Android平台安全软件的开发与研究.pdf

    文件中提到了ITelephony接口和endcall方法,这可能是用来监听或控制电话状态的部分代码片段。 10. 数据流量监控 文件中提到了CMDExecuteTrafficStats和getMobileRxBytes方法,这暗示了在安全软件开发中可能需要对...

    Android 手机铃声软件源码.zip

    自定义铃声通常涉及读取本地文件或者从网络下载。文件操作需要使用File和InputStream/OutputStream等类,而网络下载则涉及HttpURLConnection或OkHttp等网络库。下载的音频文件需要正确保存到系统的ringtone目录,...

    安卓搜索相关相关-androidlucene实现全文检索并高亮关键字.rar

    总结来说,这个压缩包提供了在Android环境下利用Apache Lucene实现全文检索和关键字高亮的示例代码,对于想学习这一技术的开发者来说是一个宝贵的资源。尽管可能需要一定的调整和优化才能在实际项目中应用,但通过...

Global site tag (gtag.js) - Google Analytics