我是靠谱客的博主 多情冥王星,这篇文章主要介绍android显示大图片,现在分享给大家,希望可以做个参考。

前言:

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

 

android的如何显示大图?

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

一般有两个方案:

1.将图片分割显示

2.将图片用webview去显示

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

第二种方案分两种

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

    假如图片放在drawable下面

   首先写一个工具类

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/** * @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); }
复制代码
1
String imgBase64 = Base64ToBitmap.bitmapToBase64( BitmapFactory.decodeResource(getResources(), R.drawable.adj));

上面的代码意思是

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

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

标签

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

总结:

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

最后

以上就是多情冥王星最近收集整理的关于android显示大图片的全部内容,更多相关android显示大图片内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部