我想知道是否有一种方法,我可以显示我的图像视图图像片段。我得到的图像来自Firebase存储,并通过视图模型函数传递位图值,并包括片段中的值。
我想知道有什么更好的方法吗?
此外,当没有图像时,当我将图像与androidswpeto刷新侦听器配对时,图像仍然会显示。
主要活动代码
val imageName = auth.currentUser?.uid
val storageRef = FirebaseStorage.getInstance().reference.child("profileImages/$imageName.jpg")
val localFile
我和ImageViews有个listView。
我试着用下面的代码压缩位图:
public void getImage(final String urlStr, final ImageView toSet) {
// set the tag immediately, to prevent delayed image downloads from
// setting this image.
toSet.setTag(urlStr);
getImage(urlStr, new ImageRepository.ImageRe
如何将包含urls的数组作为图像源传递给网格视图的imageadapter?我有一个工作的图像适配器。但问题是适配器的getView方法只返回一个图像视图。有人能告诉我如何将包含urls的数组传递给gridview的图像适配器吗?getview方法在这里
public View getView(final int position, View convertView, ViewGroup parent) {
ImageView imageView = null;
if (convertView == null) { // if it's not re
我对MemorySizeCalculator of Glide很好奇。我可以从getMemoryCacheSize()获得默认内存缓存大小,从getBitmapPoolSize()获得位图池大小。
MemorySizeCalculator:
/**
* Returns the recommended memory cache size for the device it is run on in bytes.
*/
public int getMemoryCacheSize() {
return memoryCacheSize;
}
/**
* Returns the reco
我想在我的ListView中显示资源目录中的图片(所有图片都以png格式保存),但它非常滞后。我是一个彻头彻尾的新手,所以我需要异步任务的帮助来消除滞后。
列表适配器:
public class MyListAdapter extends ArrayAdapter < SettingsItem > {
Context context;
List < SettingsItem > items;
public MyListAdapter(Context context, int resource, List < SettingsI
我正在从下面的片段中泄漏FrameLayout和位图上的内存。是否明智的是,有薄弱的参考文件的框架外?我想知道怎么做。holder.image也应该使用弱引用吗?我正在使用通用图像加载器加载大型图像.
One instance of "android.widget.FrameLayout" loaded by "<system class loader>" occupies 1,786,072 (13.27%) bytes. The memory is accumulated in one instance of "byte[]" l
我想知道如何使用easljs在视频源中添加滤镜。根据文档,我可以只对bitmap.filtes属性设置筛选器。不过,这似乎不起作用。没有错误或任何东西,只是根本没有应用过滤器。
文档的一个混乱之处在于,它提到必须在显示对象上调用cache()才能应用滤镜,但对于bitmap类,它说不应该调用cache()。
下面是我用来测试的代码:
var stage = new createjs.Stage('screen');
var video = document.getElementById('source');
var bitmap = new createjs
假设同一个类的多个对象应该做一些占用内存消耗资源的事情。建议使用下列哪种方法来定义和使用对象的资源?
每个对象都创建自己的资源。
声明一个资源实例并将其传递给每个对象
对资源使用静态对象
让我举个例子
class Section
{
public Bitmap Page {/* set and get the page...*/}
Bitmap page = new Bitmap(600,800);
Draw(SomeThing s)
{
// Draw something on the page
}
}
// in so
我有以下情况:
Activity1
public class Activity1 extends Activity{
ImageUtils.setArt(bitmap);
}
Activity2
public class Activity2 extends Activity{
Bitmap b= ImageUtils.getArt();
}
ImageUtils
public class ImageUtils{
private static Bitmap mArtWork;
public static Bitmap getArt(){
retur
目前,我已经实现了映射值的引用计数缓存,如下所示:
//filename or name of bitmap, reference count, memory location...
std::map<std::string, std::pair<long, BITMAP*> > _cache;
使用std::multimap是更好的选择吗?
//filename or name of bitmap, memory location...
std::multimap<std::string, BITMAP*> _cache;
或者只是一种不同的方式?
-编辑
我有一个返回Drawable的方法,如果它的Bitmap对象被回收,那么它就会重新加载。
public Drawable getLogo() {
if(logo == null || Util.isRecycled(logo)) //Util.isRecycled checks - is Drawable's bitmap recycled, if it had so
logo = CacheController.getInstance().getLogo(this);
return logo;
}
但是看起来在调用bitmap.recycle()之后
据我所知,我们需要提供LRU cache的实现,并将同样的构造函数传递给图像加载器。
volley中还有一个默认的基于磁盘的缓存。此基于磁盘的缓存用于缓存HTTP响应。
**当下载的图像包含缓存头时,将使用哪个缓存?
LRU(自行执行)
默认磁盘缓存实现出现在volley工具箱包*强文本*到公共类BitmapLruCache扩展LruCache实现ImageLoader.ImageCache
{
public static int getDefaultLruCacheSize() {
final int maxMemory = (int) (Runtime.getRun
我想将ImageView设置为fullHD(1080x1920)图像。我已经找过了,但没有有效的方法。
public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId,
int reqWidth, int reqHeight) {
// First decode with inJustDecodeBounds=true to check dimensions
final Bitma
当我尝试使用它们的键检索位图时,我有以下代码来缓存位图。它们总是返回null。请帮帮我。谢谢
final int memClass = ((ActivityManager) mcontext.getSystemService(Context.ACTIVITY_SERVICE)).getMemoryClass();
final int cacheSize = 1024 * 1024 *memClass ;
Toast.makeText(mcontext,"Max Cache "+cacheSize,Toast.LENGTH_LONG).show();
我有一个图像处理程序,但它总是抛出错误
我不知道我是错误地将图像插入缓存还是以错误的方式检索它。如果我尝试使用流,我会一直得到buffer null。
有什么想法吗?
public void ProcessRequest(HttpContext context)
{
_imageController = new ImageController();
//Use ImageUrl to request image from external site
string imageUrl = CastAide.AsStrin
当我在Android上使用软引用时,遇到了一个奇怪的问题。我为位图缓存实现了一个类,源代码如下:
public class ImageCache
{
private static HashMap<String, SoftReference<Bitmap>> mCache = new HashMap<String, SoftReference<Bitmap>>();
private static final String TAG = "ImageCache";
public static Bitmap get
我有一张2900x2379的图片。我已经创建了一个asp.net ashx处理程序,它将加载此映像并从中裁剪一个较小的映像,并将该裁剪作为流返回。
在伪代码中,我的处理程序中有.:
Bitmap LargeBMPToUse = null;
if (Application["MyLargeImage]" == null)
{
LargeBMPToUse = new Bitmap("File location of image on my server");
Application["MyLargeImage"] = LargeBMPToUse;
我有大尺寸的图像,我需要削减60%的高度和60%的宽度,并显示与圆角的结果图像。
我已经应用了这段代码
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect
就像下面的代码片段一样,它在这个方法中使用@autoreleasepool块。
+ (UIImage *)decodedImageWithImage:(UIImage *)image {
// while downloading huge amount of images
// autorelease the bitmap context
// and all vars to help system to free memory
// when there are memory warning.
// on iOS7, do not forget to
我想为我的DiskLruCache类编写单元测试,它实际检查位图在缓存中的写入是否正确,我们可以通过获取位图来验证这一点。我使用下面的代码在测试类中创建位图,但它显示错误。
var bitmap = Bitmap.createBitmap(400, 400, Bitmap.Config.ARGB_8888)
Its显示IllegalStateException bitmap can not be null
然后将代码更改为:
var bitmap = Bitmap.createBitmap(400, 400, Bitmap.Config.ARGB_8888).copy(Bitmap.Confi
我已经读过几个关于stackoverflow中延迟列表加载的主题,我正在尝试理解如何在android的不同缓存级别上工作。
如上所述:
我使用了
,Gilles Debunne的教程。
举例说明。我对它进行了修改,以便以正确的方式工作,也可以使用1.6。代码如下:
/*
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file ex
因此,我最近想尝试一下Picasso库的缓存特性&我陷入了这种令人困惑的境地:
我从我的web服务器(使用)检索图像的文件s&path,并将它们存储到ImageComponent对象(模型)中:
public class ImageComponent {
private int id; // 'id' in database
private String filename; // image name
private String path; // image path in server storage
private Bit