首先我们来创建两个角色,大神A和菜鸟B。 B:“A神,快来帮我看个问题,太奇怪了。为难死宝宝了0.0” A:“怎么了,说来听听” B:“是这样的,我的一个页面需要加载一张背景的高度和屏幕高度相同,但是宽度是屏幕宽度的5倍,然后我把它放到一个HorizontalScrollView中,想通过可滑动来展示全这张图片。结果屏幕白茫茫一片,什么都不显示,也没报错,我都哭了。” A:“先别急,
android加载时,为了减少内存的占用,可以不必一次性把整张加载到内存中,而是采用加载部分的办法,随着图片的滑动再加载展现的部分。加载Bitmap时,通常我们使用BitmapFactory,可以从File文件、InPutStreaml流、Byte数组中加载一张图片。而BitmapRegionDecoder,可以加载图片的一个Rect区域大小的。得需配置BitmapFactory.
转载 2023-07-06 22:44:36
261阅读
当我们在需要加载的时候。如果,我们把整张图片都加载进去的话,很可能会OOM。因为,我们的手机屏幕是有限的。所以,我们可以只加载显示的部分就可以了,这样就需要用到局部加载。 需求分析:Rect。我们既然想要局部加载,肯定是需要一个Rect的绘制矩形的。GestureDetector。既然是局部加载,我们肯定是需要手势判定,然后滑动的。Scroller。 局部加载,肯定是可以让滑动的。Bit
高效加载大图片
原创 2022-09-12 10:43:34
153阅读
# 如何在Android中使用Glide加载 在现代移动开发中,图片加载及显示是一个不可忽视的问题。对于(比如海报、截图等),我们需要特别注意其加载效率与显示效果。Android中,`Glide`是一个强大的图片加载库,可以帮助我们高效地加载、缓存和管理图片。在这篇文章中,我们将探讨如何使用Glide加载,包括实用的代码示例和优化技巧。 ## Glide的基本使用 `Glide
原创 10月前
150阅读
Android常用的绘图类有Bitmap类、BitmapFactory类、Canvas类、Paint类,下面分别做简单的总结Bitmap类即位图类,主要方法有以下几个createBitmap(int width, int height, Bitmap.Config config)----创建指定宽度、高度的位图 compress(Bitmap.CompressFormat format, int
# Android 实现加载 ## 一、整体流程 下面是实现Android加载的流程表格: ```mermaid flowchart TD A(加载) B(1. 获取URL) C(2. 加载) D(3. 显示) A --> B B --> C C --> D ``` ## 二、具体步骤 ### 1. 获取
原创 2024-06-11 04:35:43
175阅读
扩展目标 首先来确立一下功能扩展的目标。虽说Glide本身就已经十分强大了,但是有一个功能却长期以来都不支持,那就是监听下载进度功能。 我们都知道,使用Glide来加载一张网络上的图片是非常简单的,但是让人头疼的是,我们却无从得知当前图片的下载进度。如果这张图片很小的话,那么问题也不大,反正很快就会被加载出来。但如果这是一张比较大的GIF,用户耐心等了很久结果图片还没显示出来,这个时候你就会觉
## Android ImageView加载实现步骤 在Android开发中,加载可以使用ImageView组件来实现。下面是实现该功能的步骤表格: | 步骤 | 动作 | | ------ | ------ | | 步骤一 | 在布局文件中添加ImageView组件 | | 步骤二 | 在代码中获取ImageView组件的引用 | | 步骤三 | 使用BitmapFactory.de
原创 2024-01-18 12:09:01
141阅读
今天的学习目标是如何高效的加载 众所周知,android加载数量很多的大的时候,容易引起OOM异常(内存溢出),这是为什么呢?是因为现在的手机图片的分辨率越来越高,图片越来越多,而系统给单个应用施加了内存限制,比如16MB,这就导致加载bitmap的时候,很容易就内存溢出了。bitmap相关知识介绍bitmap表示的是位图,也就是图片,获取bitmap的方法是什么呢? BitmapF
转载 2023-07-06 22:48:09
243阅读
对于加载的方法,可以使用如下几种方式采样(点击了解)改变编码来减少内存占用,RGB565比ARGB_8888需要内存少ARGB_8888代表 4个8位,需要32位,也就是4个字节,需要内存为:x宽x4 ARGB_4444代表 4个4位,需要16位,也就是2个字节,需要内存为:x宽x2 RGB565 一共5+6+5 = 16位,也就是2个字节,没有ALPHA通道,需要内存为:x宽x2使用区
我们在做开发的时候总是会不可避免的遇到加载图片的情况,当图片的尺寸小于ImageView的尺寸的时候,我们当然可以很happy的去直接加载展示。但是如果我们要加载的图片远远大于ImageView的大小,直接用ImageView去展示的话,就会带来不好的视觉效果,也会占用太多的内存和性能开销。甚至这张图片足够大到导致程序oom崩溃。这个时候我们就需要对图片进行特殊的处理了:一、图片压缩图片太大,那我
最近项目中使用的是Glide加载图片,上线后用户反馈图片模糊,经过测试后发现是用户点击超长放大的时候,图片变的模糊看不起,这很影响用户的体验,要解决这个问题,我们需要先充分的了解Glide的使用。Glide概述使用习惯Glide3的朋友总会觉得Glide 4相对于Glide 3改动非常大,其实不然。之所以大家会有这种错觉,是因为你将Glide 3的用法直接搬到Glide 4中去使用,结果IDE全
项目中总会遇到加载的需求,图片的长度可能是手机屏幕高度的很多倍,此时需要通过滑动来查看图片。比较简单的实现方式就是使用ScrollView来加载,但是这样做有一个很严重的问题,就是内存消耗严重。我这里有一张,宽高为440*10260,大小为477KB,使用ScrollView加载的话,总内存消耗为97M,是相当恐怖的。为了减少内存中加载的大小,我们利用matrix的setScale
# Android Bitmap加载Android开发中,经常会遇到需要加载的情况,比如展示高清图片、地图、等。然而,直接加载可能会导致内存溢出或性能问题。因此,我们需要了解如何正确加载,以避免出现这些问题。 ## 为什么加载会出现问题? 当我们直接使用`BitmapFactory.decodeResource()`或`BitmapFa
原创 2024-05-31 05:34:03
153阅读
1、记录下学到的Android加载写法以备后用首先准备一张。这里把图片先放到项目的 assets文件夹下:命名为big.png然后开始自定义显示的view :BigViewimport android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; impor
大家都知道,如果加载的图片过大,就是出过OOM(内存溢出异常)int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024); Log.d("TAG", "Max memory is " + maxMemory + "KB"); 当我们加载大图片的时候应该将图片压缩。 BitmapFactory 提供了多种创建Bitmap的方法
# Android加载可滑动的实现 作为一名经验丰富的开发者,我很高兴来帮助你实现在Android加载并且可滑动的功能。在这篇文章中,我将向你介绍整个实现流程,并提供每一步需要做什么以及相应的代码示例。 ## 实现流程 下面是实现"Android加载可滑动"的整个流程: ```mermaid journey title 实现Android加载可滑动的流程
原创 2024-01-25 05:54:04
142阅读
# 如何使用 Android Glide 加载Android 开发中,图像加载是一个常见的需求,尤其是在需要显示的情况下。图一般是指高度远大于宽度的图像,例如海报、图示等。使用 Glide 加载是一个有效的选择,因为它不仅性能优越,还提供了简单的 API。 ## 问题背景 当我们在应用中需要展示时,通常面临的问题有:图片加载的速度、内存占用,以及片显示的平滑度。使用
原创 8月前
75阅读
### Android Glide加载Android开发中,我们经常会遇到需要加载图片的场景。而有时候,我们可能会遇到一些横向,比如一张长长的海报或者一幅宽广的风景图片。在这种情况下,我们需要使用图片加载库来加载这种特殊的图片,以确保它可以正确显示在我们的应用中。 其中,Glide是一个非常流行的图片加载库,它提供了丰富的功能和灵活的配置选项,可以帮助我们加载各种不同类型的图片。
原创 2024-03-31 04:02:02
103阅读
  • 1
  • 2
  • 3
  • 4
  • 5