我是靠谱客的博主 多情冥王星,最近开发中收集的这篇文章主要介绍android显示大图片,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言:

最近比较焦虑,感觉移动端的前景不太好,有些心塞。

 

android的如何显示大图?

因为虚拟机对手机内存的限制,超过了就会内存溢出导致程序崩溃,假如我们必须要显示一个大图怎么办呢?

一般有两个方案:

1.将图片分割显示

2.将图片用webview去显示

网上大多是第一种的解决方案,而第二种方案则少,所以这边讲解下第二种方案

第二种方案分两种

  1. 1.网络的url图片,直接
<img src= “url”> 标签就行,比较简单
  1. 2.加载放在本地的图片

    假如图片放在drawable下面

   首先写一个工具类

 /**
  * @description 将bitmap转成base64
  * @date: 2019/5/6
  * @author: MR.su
  */
public static String bitmapToBase64(Bitmap bitmap) {
    String result = null;
    ByteArrayOutputStream baos = null;
    try {
        if (bitmap != null) {
            baos = new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
            baos.flush();
            baos.close();
            byte[] bitmapBytes = baos.toByteArray();
            result = Base64.encodeToString(bitmapBytes, Base64.DEFAULT);
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            if (baos != null) {
                baos.flush();
                baos.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return result;
}

/**
 * base64转为bitmap
 */
public static Bitmap base64ToBitmap(String base64Data) {
    byte[] bytes = Base64.decode(base64Data, Base64.DEFAULT);
    return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
}
String imgBase64 = Base64ToBitmap.bitmapToBase64( BitmapFactory.decodeResource(getResources(), R.drawable.adj));

上面的代码意思是

BitmapFactory.decodeResource(getResources(), R.drawable.adj)     //将本地的drawable图片转成bitmap

Base64ToBitmap.bitmapToBase64                                                       //调用工具类将bitmap转成base64

标签

<img src="data:image/png;base64, imgBase64" />             //imgBase64就是将bitmap转成base64的字符串

总结:

方法比较简单,但是很使用

 

 

 

 

 

 

 

 

 

 

 

 

 

 

最后

以上就是多情冥王星为你收集整理的android显示大图片的全部内容,希望文章能够帮你解决android显示大图片所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部