`
jguangyou
  • 浏览: 368800 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android 使用getDrawable和BitmapFactory.decodeResource加载图片资源区别

 
阅读更多

         在android中,使用this.getResources.getDrawable和BitmapFactory.decodeResource加载图片资源是有区别的,是用this.getResources.getDrawable方法加载图片资源时,无论对同一个资源加载多少次,堆内存的占用没有变化,也就是说再使用this.getResources.getDrawable加载同一个资源一次和加载100次,内存占用都是一样的(可能是共用一个堆内存,也就是你定义多个对象,但是这多个对象都指向同一个堆内存地址);但是使用BitmapFactory.decodeResource加载图片资源时,对同一个资源,每加载一次,都需要重新分配一下堆内存。

 

       我测试使用this.getResources.getDrawable加载同一个图片资源1000次,在ImageView中显示,使用DDMS查看堆内存时,变化微乎其微,但是使用BitmapFactory.decodeResource加载的时候,加载10多个就OOM了。

关于这个问题的具体原因,不知道上面说的对不对,请高手指点。

分享到:
评论

相关推荐

    android的Tag标签的实现

    //设置TabHost的背景图片资源 //mTabHost.setBackgroundResource(R.drawable.bg0); //设置当前显示哪一个标签 mTabHost.setCurrentTab(0); //标签切换事件处理,setOnTabChangedListener ...

    Android代码-动态生成三角形背景的库

    Trianglify Android view inspired by http://qrohlf.com/trianglify/ Usage Add the dependency dependencies { ...trianglifyView.getDrawable().setColorGenerator(new AnyColorGenerator());

    android Snake游戏改进,更便于理解和初学者进行学习

    贴出部分代码,以供参考: private static int mTileSize; protected static int mXTileCount;... loadTile(YELLOW_STAR, r.getDrawable(R.drawable.yellowstar)); } 优化了这里的构造函数,更容易理解

    Android 创建手机界面中的选项卡切换效果.rar

    Android实现手机界面中的TAB,也就是大家熟悉的选项卡效果,可以单击或轻触选项卡,切换主体部分的内容,目前在各种手机应用软件中已得到普遍使用,这是一个创建基本TAB选项卡的例子,使用了TabHost实现,运行效果如...

    ViewPagerFragment滑动切换

    * 要注意的是,所有的回调和相关的行为都会在这个调用中被执行完成,因此要仔细确认这个方法的调用位置。 */ fragmentManager.executePendingTransactions(); } if (fragment.getView()....

    MenuAnimation-可以弹出子菜单的Menu.zip

    FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:id="@ id/container"  android:layout_width="match_parent"  ...

    Android-NewPopupMenu-使用PopupWindow实现的Popup菜单.zip

    使用PopupWindow实现的Popup菜单,PopupMenu可以根据ListView item的位置变化,源码比较简单,是学习PopupWindow的好材料。项目地址:https://github.com/u1aryz/Android-NewPopupMenu 效果图:如何使用创建菜单实例...

    Android 简单换肤实例.rar

    Android 简单换肤实例,单击Set按钮,可将APP的主界面变换成其它的风格,本例子中实现的比较简单,只是换了两张图片背景,有兴趣的可参考代码:单击换肤按钮后,会执行以下代码:  btnSet.setOnClickListener(new ...

    自定义searchiew

    import android.annotation.TargetApi; import android.content.Context; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; import android.os.Build; import android.text....

    Android代码-Custom shaped layout for Android 自定义形状布局

    Custom shaped layout for Android 自定义形状布局 Features Clip layout and its childview. 2 way to set shape. Also custom shape by implement ShapeModel. Dependency Add this in your build.gradle file ...

    Android下拉刷新、上拉加载CommonRefreshLayout.zip

    基于SwipeRefreshLayout下拉刷新、上拉加载。支持所有的AbsListView、RecycleView 特点  在 layout 中使用,支持 AbsListView 所有的xml属性  支持自动下拉刷新,什么用呢?比如进入...

    Android代码-Mural

    imageView.placeholder = resources.getDrawable(R.drawable.placeholder) imageView.source = imageUrl // Url or drawable Using Mural Builder Mural.with(this) .placeholder(R.drawable.placeholder) .source...

    Android IRecyclerView 设置分割线

    IReyclerView 与RecyclerView 的分割线不同,IRecyclerView headerView 和 footerView 中都默认有两个View,分割线设置也不一样 使用: //添加分割线 IRecyclerLinearVerticalDivider recyclerViewDivider = new ...

    Android代码-ZXingGenerator

    QRCode.java文件中提供了6种生成二维码的样式,可直接按照如下方式使用。 qrcode1.setImageBitmap(QRCode.createQRCode("http://www.tmtpost.com/2536837.html")); qrcode2.setImageBitmap(QRCode....

    Android UI开发专题

    近期很多网友对Android用户界面的设计表示很感兴趣,对于Android UI开发自绘控件和游戏制作而言掌握好绘图基础是必不可少的。本次专题分10节来讲述,有关OpenGL ES相关的可能将放到以后再透露。本次主要涉及以下四个...

    Android OnClickListener按钮单击事件监听器用法范例.rar

    按钮单击事件一例,Android环境下,单击按钮后,改变 按钮背景颜色,通过这个功能来练习单击事件的监听器用法:  super.onCreate(savedInstanceState);  setContentView(R.layout.main);//设置当前屏幕  Button ...

    Material Design Icons for Android-将图标做成字体的形式, 不用在加载图标资源.zip

    介绍:将图标做成字体的形式,直接在项目中使用Material图标,不用自己去加载资源文件,也不用管图标的大小适配。还能能自动根据主题显示不同的图标颜色。项目地址: ...

    android系统的颜色调色板

    Resources res = getResources(); Drawable drawable = res.getDrawable(R.drawable.back); MainActivity.this.getWindow().setBackgroundDrawable(drawable);

    TextView显示图片

    查看文章:[Android教程]TextView显示Html类解析的网页和图片及自定义标签 3、在TextView四周显示图片 mTVText.setText("setCompoundDrawables"); Drawable d = getResources().getDrawable(R.drawable.ic_launcher)...

    IndicatorView轮播图的自定义点

    //设置点和点之间的间隙 mIndicator.setInterval(10); //设置点的图片 mIndicator.setIndicatorDrawable(UIUtils.getDrawable(R.drawable.indicator)); RelativeLayout.LayoutParams rl = new ...

Global site tag (gtag.js) - Google Analytics