- 浏览: 342291 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
secally:
楼主可以上传个例子吗,谢谢,我咋跑不起来,,eclipse不是 ...
Android自动打包、签名、优化、上传ANT脚本 -
secally:
请问下执行命令是啥,ant release 还是?麻烦指教谢谢 ...
Android自动打包、签名、优化、上传ANT脚本 -
trp1022:
好牛啊
程序员不能不通文史 -
sunny78117:
谢谢,写得好
Android bitmap优化 -
futurebp:
这是什么类型的脚本啊?
Android自动打包、签名、优化、上传ANT脚本
直接使用ImageView显示bitmap会占用较多资源,特别是图片较大的时候,可能导致崩溃。
使用BitmapFactory.Options设置inSampleSize, 这样做可以减少对系统资源的要求。
属性值inSampleSize表示缩略图大小为原始图片大小的几分之一,即如果这个值为2,则取出的缩略图的宽和高都是原始图片的1/2,图片大小就为原始大小的1/4。
Options中有个属性inJustDecodeBounds,SDK中是这么说的
If set to true, the decoder will return null (no bitmap), but the out... fields will still be set, allowing the caller to query the bitmap without having to allocate the memory for its pixels.
通过设置inJustDecodeBounds为true,获取到outHeight(图片原始高度)和outWidth(图片的原始宽度),然后计算一个inSampleSize(缩放值)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <ImageView android:id="@+id/imageview" android:layout_gravity="center" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scaleType="center" /> </LinearLayout>
import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.widget.ImageView; import android.widget.Toast; public class AndroidImage extends Activity { private String imageFile = "/sdcard/AndroidSharedPreferencesEditor.png"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ImageView myImageView = (ImageView)findViewById(R.id.imageview); //Bitmap bitmap = BitmapFactory.decodeFile(imageFile); //myImageView.setImageBitmap(bitmap); Bitmap bitmap; float imagew = 300; float imageh = 300; BitmapFactory.Options bitmapFactoryOptions = new BitmapFactory.Options(); bitmapFactoryOptions.inJustDecodeBounds = true; bitmap = BitmapFactory.decodeFile(imageFile, bitmapFactoryOptions); int yRatio = (int)Math.ceil(bitmapFactoryOptions.outHeight/imageh); int xRatio = (int)Math.ceil(bitmapFactoryOptions.outWidth/imagew); if (yRatio > 1 || xRatio > 1){ if (yRatio > xRatio) { bitmapFactoryOptions.inSampleSize = yRatio; Toast.makeText(this, "yRatio = " + String.valueOf(yRatio), Toast.LENGTH_LONG).show(); } else { bitmapFactoryOptions.inSampleSize = xRatio; Toast.makeText(this, "xRatio = " + String.valueOf(xRatio), Toast.LENGTH_LONG).show(); } } else{ Toast.makeText(this, "inSampleSize = 1", Toast.LENGTH_LONG).show(); } bitmapFactoryOptions.inJustDecodeBounds = false; bitmap = BitmapFactory.decodeFile(imageFile, bitmapFactoryOptions); myImageView.setImageBitmap(bitmap); } }
发表评论
-
抓取Android WebView截屏
2011-08-19 21:33 7675一般使用setDrawingCacheEnabled(true ... -
Android模拟器更改分辨率后 无法取得分辨率问题
2011-05-11 21:06 2867在PC上更改模拟器分辨率为480*800 (如果你的PC界面 ... -
获取屏幕硬件分辨率方法 收藏
2011-05-11 16:28 1927TextView tv=(TextVie ... -
Bytecode for the Dalvik VM
2011-05-10 22:35 1376http://www.netmite.com/android/ ... -
Android DEX反编译后部分代码解析
2011-05-10 22:07 3952一个private 方法 private Stri ... -
反编译并且修改Android APK包
2011-05-10 16:57 3151為了某個實驗的動機,我們評估反編譯 Android ... -
Android Ant编译时候进行混淆
2010-10-18 13:49 3842版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
自定义Ant Task
2010-09-13 17:58 3003版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自动打包、签名、优化、上传ANT脚本
2010-07-26 16:51 14000版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自定义含有CheckBox的Adapter遇到的问题
2010-06-23 13:48 4137版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
QR code类库
2010-06-03 23:11 2345Google code发现的好东西。 QR code 类库 ... -
Android QQ,一个WEBOS APP诞生!!(两个QQ对比!)
2010-04-10 12:05 1888请看这个大哥的言论 http://linuxtoy.or ... -
Android 、BlackBerry 文本对齐方式对比
2010-02-22 13:11 1819版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
教你如何开关Android的APN网络
2010-01-08 11:36 6086版权所有,转载请注明来自Mobile Developer (h ... -
史上最强NDK入门项目实战
2009-10-10 13:29 2696以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
使用TimerTask控制ProgressBar
2009-10-10 13:21 1141以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
自定义List布局
2009-10-10 13:19 1949以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
重画Progressbar的进度
2009-10-10 13:15 1950以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
谈谈Android中文短信的实现
2009-10-10 13:13 2190似 乎Google在推出G1时 ... -
模拟器互发短信
2009-10-10 13:11 1308以下内容Sinfrancis版权所有,专注请注明来自 htt ...
相关推荐
在Android开发中,Bitmap是用于表示图像数据的基本对象,它是一种内存中的图片表示形式。而当我们需要在应用程序中展示带有圆角的图片时,通常会用到Bitmap的处理技巧。本篇文章将深入探讨如何在Android中对Bitmap...
在Android开发中,Bitmap是处理图像的基本类,用于在内存中表示位图图像。当我们需要对图片进行裁剪、缩放或进行其他操作时,Bitmap提供了丰富的功能。本篇文章将详细探讨如何在Android环境下利用Bitmap来切割图片。...
在实现这些特效时,需要注意性能优化,因为Bitmap操作可能会消耗大量资源。可以使用BitmapFactory.Options来控制解码时的内存占用,或者使用Hardware Acceleration等技术来加速图像处理。此外,还可以考虑使用异步...
在Android开发中,Bitmap是用于表示图像数据的核心类,它在UI显示和图像处理中扮演着重要角色。然而,由于Bitmap对象通常占用大量的内存,不当的处理可能导致内存溢出(Out Of Memory)问题,因此对Bitmap进行高效...
综上所述,处理Android上的24位深度Bitmap文件涉及多个层次的优化,包括内存管理、解码策略、异步加载、缓存策略以及颜色处理等。在实际开发中,要根据应用的需求和设备性能选择合适的方法,确保应用运行流畅且资源...
在Android开发中,Bitmap对象是处理图像的主要方式,但它们可能会消耗大量内存,尤其是在处理大图或高分辨率图片时。为了优化性能并防止因内存不足引发的“OutOfMemoryError”,开发者通常需要对Bitmap进行压缩。...
高效加载 Bitmap BitMapFactory 提供了四类方法: decodeFile,decodeResource,decodeStream 和 decodeByteArray 分别用于从文件系统,资源,输入流以及字节数组中加载出一个 Bitmap 对象。 高效加载 Bitmap 很简单,即...
在Android开发中,处理图像数据是一项常见的任务,而Bitmap和String是两个核心的数据类型,分别代表位图图像和文本字符串。Bitmap对象用于存储和显示图像,而String则常用于保存和传输文本信息。本篇文章将深入探讨...
在Android开发中,Bitmap对象是用于处理图像的主要类,但如果不正确管理,它可能导致应用程序运行时出现`OutOfMemoryError`。这是因为Bitmap占用大量的内存,尤其是当加载大尺寸或高分辨率图片时。这个问题在低内存...
总的来说,Android Bitmap的处理涵盖了从加载到保存、显示和优化等多个方面,理解其工作原理和最佳实践对于优化应用性能至关重要。在处理大量图像或高分辨率图像时,特别需要注意内存管理和性能优化。
在Android开发中,有时我们需要将Bitmap对象转换成不同的图片格式,比如BMP。BMP(Bitmap File Format)是一种常见的位图文件格式,但它并不像JPEG或PNG那样被Android SDK直接支持。本文将详细介绍如何在Android中将...
Bitmap是Android平台中用于处理图像的核心类,它用于表示位图图像数据。下面是对Bitmap用法的详细总结: 1. **Drawable转换为Bitmap**: 当我们需要将一个Drawable对象(如从XML布局文件中加载的图像)转换为...
Bitmap优化是Android开发中的重要环节,合理使用上述策略和技巧,可以显著降低内存消耗,提升应用性能。实践中,开发者应结合项目需求,灵活运用各种方法,实现最佳的Bitmap管理。同时,持续关注Android新版本的优化...
在Android开发中,Bitmap是用于显示图像的基本类,它是一个位图对象,通常用来加载、显示和处理图片。然而,由于Bitmap对象占用大量的内存,直接加载大图片可能会导致内存溢出(Out Of Memory,OOM)问题。因此,...
在Android开发中,Bitmap对象是用于处理图像的主要类,但如果不妥善管理,它可能会引发“Out Of Memory”(OOM)错误。这是因为Android设备的内存有限,尤其是对于大型图像,加载到内存中会消耗大量资源。当应用无法...
文档标题和描述中提到的“ANDROIDBITMAP内存限制OOM,OUTOFMEMORY”指的就是在处理位图(BITMAP)时超出了虚拟机(VM)的内存预算,导致系统抛出OutOfMemoryError异常。 根据给出的内容部分,我们可以推断出以下知识...
此外,考虑到性能优化,我们还可以使用异步操作来保存Bitmap,避免阻塞主线程。可以使用AsyncTask或其他异步框架来实现这一目标。例如: ```java public class SaveBitmapTask extends AsyncTask, Void, Boolean> {...
这里就有疑问了,Android系统有自己的垃圾回收机制,可以不定期的回收掉不使用的内存空间,当然也包括Bitmap的空间。那为什么还需要这个方法呢? Bitmap类的构造方法都是私有的,所以开发者不能直接new出一个Bitmap...
总结,"bitmap上传图片demo"是一个综合性的实例,涵盖了Bitmap的加载、显示、裁剪和上传等多个环节,对于学习Android图像处理和优化具有很高的参考价值。在实际开发中,我们需要根据项目的具体需求,灵活运用这些...
在Android开发中,Drawable和Bitmap是两种常用的图像资源类型,它们各有特点且在不同场景下有不同的优势。了解和掌握它们之间的相互转换对于优化性能和提高用户体验至关重要。本篇将详细介绍如何在Android中进行...