当前位置: 首页 > news >正文

淘宝客网站如何备案手机网站建设报价表

淘宝客网站如何备案,手机网站建设报价表,龙岩网站建设,网站配置转自#xff1a;http://my.oschina.net/rengwuxian/blog/182885 高效使用Bitmaps有什么好处#xff1f; 我 们常常提到的“Android程序优化”#xff0c;通常指的是性能和内存的优化#xff0c;即#xff1a;更快的响应速度#xff0c;更低的内存占用。Android程序的性能…转自http://my.oschina.net/rengwuxian/blog/182885 高效使用Bitmaps有什么好处 我 们常常提到的“Android程序优化”通常指的是性能和内存的优化即更快的响应速度更低的内存占用。Android程序的性能和内存问题大部 分都和图片紧密相关而图片的加载在很多情况下很用到Bitmap位图这个类。而由于Bitmap自身的特性将每个像素的属性全部保存在内存中 导致稍有不慎就会创建出一个占用内存非常大的Bitmap对象从而导致加载过慢还会有内存溢出的风险。所以Android程序要做优 化Bitmap的优化是必不可少的一步。 需要对Bitmap进行优化的情形 首先请看一行代码 1mImageView.setImageResource(R.drawable.my_image); 这是一行从资源文件中加载图片到ImageView的代码。通常这段代码没什么问 题但有些情况下你需要对这段代码进行优化。例如当图片的尺寸远远大于ImageView的尺寸时或者当你要在一个ListView或 GridView中批量加载一些大小未知的图片时。实际上以上这行代码会在运行时使用BitmapFactory.decodeStream()方法将 资源图片生成一个Bitmap然后由这个Bitmap生成一个Drawable最后再将这个Drawable设置到ImageView。由于在过程中 生成了Bitmap因此如果你使用的图片过大就会导致性能和内存占用的问题。另外需要优化的情形不止这一种这里就不再列举。 下面分步说明使用代码来减小Bitmap的尺寸从而达到减小内存占用的方法 1. 获取原图片尺寸 通常我们使用BitmapFactory.decodeResource()方法来从资源文件中读取一张 图片并生成一个Bitmap。但如果使用一个BitmapFactory.Options对象并把该对象的inJustDecodeBounds属性设 置为truedecodeResource()方法就不会生成Bitmap对象而仅仅是读取该图片的尺寸和类型信息     1BitmapFactory.Options options new BitmapFactory.Options(); 2options.inJustDecodeBounds true; 3BitmapFactory.decodeResource(getResources(), R.id.myimage, options); 4int imageHeight options.outHeight; 5int imageWidth options.outWidth; 6String imageType options.outMimeType; 2. 根据原图尺寸和目标区域的尺寸计算出合适的Bitmap尺寸 BitmapFactory.Options类有一个参数 inSampleSize该参数为int型他的值指示了在解析图片为Bitmap时在长宽两个方向上像素缩小的倍数。inSampleSize的默认 值和最小值为1当小于1时解码器将该值当做1来处理且在大于1时该值只能为2的幂当不为2的幂时解码器会取与该值最接近的2的幂。例如 当inSampleSize为2时一个2000*1000的图片将被缩小为1000*500相应地它的像素数和内存占用都被缩小为了原来的 1/4 01public static int calculateInSampleSize( 02            BitmapFactory.Options options, int reqWidth, int reqHeight) { 03    // 原始图片的宽高 04    final int height options.outHeight; 05    final int width options.outWidth; 06    int inSampleSize 1; 07  08    if (height reqHeight || width reqWidth) { 09  10        final int halfHeight height / 2; 11        final int halfWidth width / 2; 12  13        // 在保证解析出的bitmap宽高分别大于目标尺寸宽高的前提下取可能的inSampleSize的最大值 14        while ((halfHeight / inSampleSize) reqHeight 15                 (halfWidth / inSampleSize) reqWidth) { 16            inSampleSize * 2; 17        } 18    } 19  20    return inSampleSize; 21} 3. 根据计算出的inSampleSize生成Bitmap  01public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId, 02        int reqWidth, int reqHeight) { 03  04    // 首先设置 inJustDecodeBoundstrue 来获取图片尺寸 05    final BitmapFactory.Options options new BitmapFactory.Options(); 06    options.inJustDecodeBounds true; 07    BitmapFactory.decodeResource(res, resId, options); 08  09    // 计算 inSampleSize 的值 10    options.inSampleSize calculateInSampleSize(options, reqWidth, reqHeight); 11  12    // 根据计算出的 inSampleSize 来解码图片生成Bitmap 13    options.inJustDecodeBounds false; 14    return BitmapFactory.decodeResource(res, resId, options); 15} 这里有一点要注意就是要在第二遍decode之前把inJustDecodeBounds设置回false。 4. 调用以上的decodeSampledBitmapFromResource方法使用自定尺寸的Bitmap。 如果你要将一张大图设置为一个100*100的缩略图执行以下代码 1mImageView.setImageBitmap(decodeSampledBitmapFromResource(getResources(), R.id.myimage, 100, 100)); 到此使用decodeResource()方法将一个大图解析为小尺寸bitmap的应用就完成了。同理还可以使用decodeStream()decodeFile()等方法做相同的事原理是一样的。 延伸一个Bitmap到底占用多大内存系统给每个应用程序分配多大内存 · Bitmap占用的内存为像素总数 * 每个像素占用的内存。在Android中Bitmap有四种像素类型ARGB_8888、ARGB_4444、ARGB_565、ALPHA_8他 们每个像素占用的字节数分别为4、2、2、1。因此一个2000*1000的ARGB_8888类型的Bitmap占用的内存为 2000*1000*48000000B8MB。 · Android根据设备屏幕尺寸和dpi的不同给系统分配的单应用程序内存大小也不同具体如下表表格取自Android 4.4 Compatibility Definition Document (CDD)                                                                                                       屏幕尺寸 DPI 应用内存 small / normal / large ldpi / mdpi 16MB small / normal / large tvdpi / hdpi 32MB small / normal / large xhdpi 64MB small / normal / large 400dpi 96MB small / normal / large xxhdpi 128MB xlarge mdpi 32MB xlarge tvdpi / hdpi 64MB xlarge xhdpi 128MB xlarge 400dpi 192MB xlarge xxhdpi 256MB
http://www.sadfv.cn/news/271425/

相关文章:

  • 网站建设可行性安卓移动开发
  • 帝国cms官方网站合肥昱天建设有限公司网站
  • 网站名称推荐营业执照解除异常收费多少钱
  • 品牌型网站的作用检查网站打开速度
  • 洛阳制作网站ihanshi理县网站建设
  • 网站建设方案 云盘网站开发系统需求说明书
  • 东莞有哪家比较好的网站建设公司php直播网站开发
  • 做高仿表网站黄山旅游几月份去最好
  • 校园网站的建设费用那个网站是响应式的
  • 眼镜网站怎么做WordPress登录提醒
  • 网站流量软件设计电子商务网站方式
  • 百度没有投放的网站点击怎么创建微信公众号写文章
  • 网站模板下载百度云链接怎么做的深圳专业画册设计机构
  • 二级域名网站建设企业网站推广总结
  • 建筑做网站装修公司设计软件有哪些
  • 电子商城网站建设费用模型网站
  • 产品设计专业大学排名厦门seo优化公司
  • 网站开发的开发工具网站需要第三方登录怎么做
  • 四川省工程信息造价网网站建设优化推广排名
  • 网站开发成本预算表wordpress浏览最多的文章
  • 旅游网站开发报价单深圳网站优化页面
  • 青岛的网站建设淘客返利网站建设
  • 网站建设销售怎么样网站开发 公司 深圳
  • 怎么样进行网站建设工商注册费用多少钱
  • 上海网站建设网页网站建设优势
  • 苏州网站推广服务浙江省建筑信息港官网
  • 做五金的网站Wordpress怎么做导航页
  • 哪家手表网站我的世界皮肤网站做
  • 成都手机号码销售网站建设网站推广服务 商务服务
  • 网站备案信息如何下载wordpress伟静态