`
jiaoronggui
  • 浏览: 1332163 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
博客专栏
B7c2eb31-a8ea-3973-a517-d00141f39b89
项目管理软件-redmin...
浏览量:116553
4a63e153-250f-30f6-a051-97cfc67cb3d3
IT职业规划
浏览量:199545
社区版块
存档分类
最新评论

Android使用新组件-FinalBitmap

阅读更多

 

之前新闻资讯栏目用的网上下载的异步下载的组件,存在内存泄露问题,用了短时间之后,如果在模拟器环境下会出现内存错误的情况,后来看了下afinal组件,其中包含:finalBitmap组件,看介绍,有几大好处:

1、多线程下载;

2、支持缓存,包含内存和本地文件缓存;

3、异步下载;

4、简单,几行代码搞定

 

 

FinalBitmap模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。FinalBitmap可以配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等。FinalBitmap的内存管理使用lru算法,没有使用弱引用(android2.3以后google已经不建议使用弱引用,android2.3后强行回收软引用和弱引用,详情查看android官方文档),更好的管理bitmap内存。FinalBitmap可以自定义下载器,用来扩展其他协议显示网络图片,比如ftp等。同时可以自定义bitmap显示器,在imageview显示图片的时候播放动画等(默认是渐变动画显示)

 

 

代码:

1、初始化代码

		finalBitmap = FinalBitmap.create(this.getApplicationContext()); 初始化
		finalBitmap.configBitmapLoadThreadSize(3);定义线程数量

        finalBitmap.configDiskCachePath(this.getApplicationContext().getFilesDir().toString());设置缓存目录;
        finalBitmap.configDiskCacheSize(1024 * 1024 * 10);设置缓存大小
        finalBitmap.configLoadingImage(R.drawable.news_default);设置加载图片

 

2、调用代码

finalBitmap.display(imageView, newsinfoa.getImageUrl());第一个参数为iamgeview组件,第二个为加载的url地址

 

完成了

2
2
分享到:
评论

相关推荐

    Android高级应用源码-afinal框架实现图片的简单异步缓存加载.zip

    Afinal的核心组件包括FinalDB(数据库操作)、FinalBitmap(图片缓存)和FinalActivity(Activity管理)。其中,FinalBitmap就是我们在这里讨论的重点,它是Afinal提供的一个图片加载库,支持内存缓存和磁盘缓存,...

    Android-系统的ImageView 是四方形的 把bitmap处理成圆角的

    在Android开发中,`ImageView`是用于显示图片的常见组件,但默认情况下它会将图片显示为方形。在很多设计中,我们可能需要将图片显示为圆角或圆形,这通常涉及到对`Bitmap`对象的处理。本篇将详细介绍如何在Android...

    Afianl框架里面的FinalBitmap加载网络图片

    Afianl框架中的FinalBitmap组件就是一个专门解决这个问题的工具,它可以帮助开发者轻松地加载网络上的图片,同时避免线程并发问题和内存溢出(OOM)问题。 FinalBitmap的使用方法相当简单,下面我们将详细探讨如何...

    Android编程自定义组件实例详解

    Android编程自定义组件实例详解 Android自定义组件是Android开发中一个非常重要的知识点,它可以满足开发者对UI界面的需求。通过继承View类或ViewGroup类,开发者可以创建自己的自定义组件,从而满足特定的需求。...

    android内存管理-MAT与防范手段.pdf

    ### Android内存管理与工具使用详解 #### 一、内存分配跟踪工具DDMS——Allocation Tracker使用 **背景介绍:** 在Android开发中,内存管理是非常重要的一环,它直接影响着应用程序的性能和用户体验。为了帮助...

    安卓Android源码——安卓Android-拍照、打开本地相册.rar

    // 将Bitmap显示到ImageView或其他视图组件 } } ``` 接下来,我们讨论打开本地相册的功能。同样,这也可以通过`Intent`实现,这次是`ACTION_PICK`或者`ACTION_GET_CONTENT`,允许用户从他们的图库中选择一张图片...

    Android中使用自定义ImageView实现图片圆形遮罩效果

    final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); canvas.drawCircle(bitmap.getWidth() / 2, ...

    Android组件ConverFlow(继承Gallery)

    使用画廊做的一个带有倒影的画廊 package com.action; import android.content.Context; import android.graphics.Camera; import android.graphics.Matrix; import android.util.AttributeSet; import android....

    Android生成带圆角的Bitmap图片

    2. **Canvas**:Canvas是Android图形系统的核心组件之一,它提供了在特定的Bitmap上进行绘制的接口。我们可以使用Canvas来画线、矩形、圆形以及其它图形。 3. **Paint**:Paint类用于设置绘制图形的样式,如颜色、...

    Android内存管理小结

    - **Dalvik虚拟机简介**:Dalvik虚拟机是Android系统的核心组件之一,它负责执行Android应用中的Java字节码。与传统的Java虚拟机(JVM)不同,Dalvik虚拟机执行的是.dex文件格式的字节码,这种格式经过了专门的设计,...

    Android使用Intent实现Camera功能

    在Android应用开发中,Intent是连接各个组件的重要桥梁,它用于启动活动(Activity)、服务(Service)或广播接收器(Broadcast Receiver)。当我们想要调用系统相机功能时,Intent扮演了关键角色。本教程将深入讲解...

    afinal0.5.1框架 支持android下assets文件夹下图片加载

    4、FinalBitmap 支持任何view的图片加载,不在仅仅只是imageview(非imageView设置加载完成后设置其背景,用在常用语一些布局文件背景中) 5、FinalBtimap 支持加载本地图片,不仅仅只是网络图片 6、FinalBitmap ...

    Android 实现圆形头像

    首先,我们可以使用Android自带的`ImageView`组件,并结合自定义的`Drawable`来实现。创建一个圆形`Drawable`的方法是覆写`Drawable`的`onDraw()`方法,然后在其中绘制一个圆形。以下是一个简单的例子: ```java ...

    Android使用Volley实现图片轮播

    本文将详细介绍如何在Android项目中使用Volley库来实现图片轮播。 首先,我们需要在项目中集成Volley库。这可以通过在build.gradle文件中添加依赖来实现: ```gradle dependencies { implementation '...

    Android 图片边角带标签tag

    在Android开发中,图片边角带标签tag是一个常见的需求,特别是在设计用户界面或者制作各种信息展示组件时。这种功能常用于指示或者强调某些特定的图片信息,比如未读消息、热门推荐等。本文将深入探讨如何在Android...

    android头像图片资源

    然后,我们可以使用ImageView组件来显示这个头像: ```xml android:id="@+id/avatar_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/avatar" /> ``...

    Android序列化传递数据

    3. 使用`Bitmap.createBitmap()` 创建一个新的Bitmap,然后通过Bitmap.copy()复制数据。 在实际开发中,根据数据量、性能需求和使用场景,选择合适的序列化方式至关重要。Parcelable适合高性能、内存内传递,而...

    百度校园招聘历年经典面试题汇总:Android岗

    - **质量压缩**:使用Bitmap的`compress()`方法来调整图片的质量参数。 - **尺寸压缩**:通过计算合适的采样率来减少图片大小。 - **格式选择**:根据应用场景选择不同的图片格式,如JPEG适用于照片,PNG适合透明...

    Android 图片放大修改代码

    最后,使用`Bitmap.createBitmap()`方法根据矩阵生成新的缩放后的位图,并将其转换为`Drawable`对象以便于显示。 #### 三、总结 本文介绍了一个简单的Android应用程序,该程序能够实现从网络下载图片并对其进行...

    Android中gallery图片自动切换Demo

    在Android开发中,`Gallery`组件是用于展示一系列图片或者选项的一个控件,它允许用户通过左右滑动来浏览。然而,`Gallery`在新版本的Android SDK中已经被弃用,取而代之的是`HorizontalScrollView`或者`ViewPager`...

Global site tag (gtag.js) - Google Analytics