标签: universal-image-loader

Universal-Image-Loader:OutOfMemory错误

我正在使用universal-image-loader-1.6.2.jar(最新版本).我正在尝试使用此库下载和缓存该图像.我有47张图片要从服务器下载,总共5.22 Mb.My最大图片尺寸为720X480,尺寸约为143kb.它一直很好,直到40-41图像之后,它给出了错误

11-02 16:30:12.150: E/ImageLoader(31033): null
11-02 16:30:12.150: E/ImageLoader(31033): java.lang.OutOfMemoryError
11-02 16:30:12.150: E/ImageLoader(31033):   at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
11-02 16:30:12.150: E/ImageLoader(31033):   at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:493)
11-02 16:30:12.150: E/ImageLoader(31033):   at com.nostra13.universalimageloader.core.ImageDecoder.decode(ImageDecoder.java:83)
11-02 16:30:12.150: E/ImageLoader(31033):   at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.saveImageOnDisc(LoadAndDisplayImageTask.java:218)
11-02 16:30:12.150: E/ImageLoader(31033):   at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java:138)
11-02 16:30:12.150: E/ImageLoader(31033):   at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java:72)
11-02 16:30:12.150: E/ImageLoader(31033):   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
11-02 16:30:12.150: E/ImageLoader(31033):   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
11-02 16:30:12.150: E/ImageLoader(31033):   at java.util.concurrent.FutureTask.run(FutureTask.java:137)
11-02 16:30:12.150: E/ImageLoader(31033):   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
11-02 16:30:12.150: E/ImageLoader(31033):   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
11-02 16:30:12.150: E/ImageLoader(31033):   at java.lang.Thread.run(Thread.java:856)
11-02 16:30:47.170: E/Adreno200-ES20(31033): <qgl2DrvAPI_glUseProgram:1318>: **** 31033: glUseProgram(3)
11-02 16:30:47.170: …
Run Code Online (Sandbox Code Playgroud)

universal-image-loader

2
推荐指数
1
解决办法
1万
查看次数

Universal Image Loader仅在滚动时舍入图像

我在ListView中使用Universal Image Loader,它第一次完美运行,但其余时间,图像没有圆角.仅当我滚动图像时才会再次出现圆形边框.

这是我的代码:

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
            context).threadPriority(Thread.NORM_PRIORITY - 2)
            .denyCacheImageMultipleSizesInMemory()
            .discCacheFileNameGenerator(new Md5FileNameGenerator())
            .tasksProcessingOrder(QueueProcessingType.LIFO).enableLogging() 
            .build();
    // Initialize ImageLoader with configuration.
    ImageLoader.getInstance().init(config);


DisplayImageOptions options = new DisplayImageOptions.Builder()
    .displayer(new RoundedBitmapDisplayer(50))
    .showStubImage(R.drawable.ic_app)
    .showImageForEmptyUri(R.drawable.camera)
    .showImageOnFail(R.drawable.ic_error).cacheInMemory().cacheOnDisc()
    .build();


public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView == null) {
        convertView = LayoutInflater.from(getContext()).inflate(R.layout.listmessages_row, null);
    }//End if


    ImageView avatar = (ImageView) convertView.findViewById(R.id.ImageView_MessageRow);
    ImageView avatarEmpty = (ImageView) convertView.findViewById(R.id.ImageView_PhotoProfileEmpty);
    final int positionAux = position; 

    if (listItems.get(position).avatar.equals("no_avatar")){
        avatarEmpty.setVisibility(View.VISIBLE);
        avatar.setVisibility(View.GONE);
    }else{
        avatarEmpty.setVisibility(View.GONE);
        avatar.setVisibility(View.VISIBLE);
        imageLoader.displayImage(IMAGES + listItems.get(position).avatar, avatar, …
Run Code Online (Sandbox Code Playgroud)

android rounded-corners android-listview universal-image-loader

2
推荐指数
1
解决办法
6967
查看次数

修复了ImageLoader的警告:"尝试初始化之前已经初始化的ImageLoader"

在我的应用程序中,我有一些包含一些项目的列表视图.每个项目都有一个从远程网址下载的img.

我使用ImageLoader库将每个图像加载到我的应用程序中.

我的listview很好,我有所有图像,但我在LogCat中有一个警告:

02-05 15:16:17.938:W/ImageLoader(17363):尝试初始化之前已经初始化的ImageLoader.要使用新配置重新初始化ImageLoader,请首先调用ImageLoader.destroy().

我不知道如何解决这个问题?

这是我的适配器的代码:

public class ArticleListAdapterHome extends ArrayAdapter<ArticleHome> {

    Typeface faceLight = Typeface.createFromAsset(getContext().getAssets(), "fonts/Roboto-Light.ttf");
    Typeface faceBold = Typeface.createFromAsset(getContext().getAssets(), "fonts/Roboto-Bold.ttf");

    public ArticleListAdapterHome(Activity activity, List<ArticleHome> articles) {
        super(activity, 0, articles);
    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        Activity activity = (Activity) getContext();

        LayoutInflater inflater = activity.getLayoutInflater();

        View rowView;
        ArticleHome article = getItem(position);

        if (position == 0) {

            rowView = inflater.inflate(R.layout.item_ligne_home_premier, null);

            ////////////////////////////////////////////////////////
            ///// IMAGE
            ///////////////////////////////////////////////////////
            ImageView imgfirst = (ImageView) rowView.findViewById(R.id.imgimg) ;

            DisplayImageOptions options = …
Run Code Online (Sandbox Code Playgroud)

java android universal-image-loader

2
推荐指数
2
解决办法
6978
查看次数

如何在 Html.ImageGetter 类中监听对绘制图像的点击

我有一个 Html.ImageGetter 类,我使用通用图像加载器来加载 <img> 标签中的图像,该标签包含在我在线获取的 html json 文件中。

图像加载得很好,但在较小的设备上,图像被缩小以匹配设备的宽度,因此使一些图像太小而无法看到内容。

我的目的是在图像上设置一个点击侦听器并显示一个缩放对话框,用户可以在其中看到图像的完整尺寸。目前,我发现很难听到点击次数。

这是我的 ImageGetter 类

public class UILImageGetter implements Html.ImageGetter{
    Context c;
    TextView container;
    UrlImageDownloader urlDrawable;


    public UILImageGetter(View textView, Context context) {
        this.c = context;
        this.container = (TextView) textView;
    }

    @Override
    public Drawable getDrawable(String source) {

        urlDrawable = new UrlImageDownloader(c.getResources(), source);

        if (Build.VERSION.SDK_INT >= 21) {
        urlDrawable.mDrawable = c.getResources().getDrawable(R.drawable.default_thumb,null);
        } else {
            urlDrawable.mDrawable = c.getResources().getDrawable(R.drawable.default_thumb);
        }
        ImageLoader.getInstance().loadImage(source, new SimpleListener(urlDrawable));
        return urlDrawable;
    }

    private class SimpleListener extends SimpleImageLoadingListener {
        UrlImageDownloader mUrlImageDownloader;


        public SimpleListener(UrlImageDownloader …
Run Code Online (Sandbox Code Playgroud)

android universal-image-loader

2
推荐指数
1
解决办法
688
查看次数

如何使用Android Universal Image Loader获取图像的高度和宽度?

如何访问使用Android Universal Image Loader加载的图像的高度和宽度?

android universal-image-loader

1
推荐指数
1
解决办法
2332
查看次数

通用图像加载器inSampleSize选项

我在我的应用程序中使用Uinversal Image Loader,我需要在SampleSize中加载图像,怎么做?我是从作者那里读到的

为DisplayImageOptions添加了DecodingType参数

但我不知道要做什么,剪掉的代码会很棒!谢谢!

android universal-image-loader

1
推荐指数
1
解决办法
1127
查看次数

谁能帮我重置 ImageView 中图像的缩放比例?

我制作了一个应用程序,它从 url 下载图像(使用Universal Image Loader库)并将该图像显示在TouchImageView. 我使用触摸图像视图来实现捏缩放功能。我按照本教程学习了如何使用 TouchImageView。

问题是,每当我放大由通用图像加载器下载的图像并将另一个图像加载到 TouchImageView 中时,新图像就会被拉伸和扭曲。当通过缩小先前缩放的图像恢复到原始大小,然后加载新图像时,这个问题就得到了解决。

因此可以通过缩小加载的图像然后加载新图像来解决该问题。但我不知道如何重置缩放,并且库没有提供这方面的功能。

我尝试使用最新版本TouchImageView(其中包括重置图像功能),但较新版本与 不兼容,UIL而且该教程似乎仅使用原始库中的部分代码(尽管其工作正常)。

有谁知道如何重置放大吗TouchImageView

**强文字**代码:

package com.hpubts50.hpubustracker;

import android.content.Context;
import android.graphics.Matrix;
import android.graphics.PointF;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.view.View;
import android.widget.ImageView;

public class TouchImageView extends ImageView {

    Matrix matrix ;
    // We can be in one of these 3 states
    static final int NONE = 0;
    static final int DRAG = 1; …
Run Code Online (Sandbox Code Playgroud)

android image universal-image-loader touchimageview

1
推荐指数
1
解决办法
2445
查看次数

无法使用Gradle找到依赖项

我的项目build.gradle文件看起来像这样

apply plugin: 'android'

dependencies {
   compile fileTree(dir: 'libs', include: '*.jar')
   compile project(':com_facebook_android')
   compile project(':launchpad')
   compile project(':Sliding Menu')
   compile 'com.google.android.gms:play-services:5.0.77'
   compile files('libs/core-2.2.jar')
   compile project(':com_actionbarsherlock')
   compile project(':foursquareoauthlibrary')
   compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.2'
}

android {
   compileSdkVersion 'Google Inc.:Google APIs:19'
   buildToolsVersion '19.1.0'
   sourceSets {
      main {
         manifest.srcFile 'AndroidManifest.xml'
         java.srcDirs = ['src']
         resources.srcDirs = ['src']
         aidl.srcDirs = ['src']
         renderscript.srcDirs = ['src']
         res.srcDirs = ['res']
         assets.srcDirs = ['assets']
      }

      // Move the tests to tests/java, tests/res, etc...
      instrumentTest.setRoot('tests')

      // Move the build types to build-types/<type>
      // For …
Run Code Online (Sandbox Code Playgroud)

android gradle universal-image-loader android-studio android-gradle-plugin

1
推荐指数
1
解决办法
1436
查看次数

Android通用图像加载程序超时

我正在使用Android Universal Image Loader从URL下载图像.因为我的图像大小很大,Image Loader达到5秒超时并抛出异常.如何增加ImageLoader超时?另外你必须知道,我发现下面的代码,但它没有工作,因为这个库没有这个功能.

imageDownloader(new URLConnectionImageDownloader(5 * 1000, 20 * 1000));

我的ImageLoaderConfig:

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context).build();
ImageLoader.getInstance().init(config);
Run Code Online (Sandbox Code Playgroud)

java android universal-image-loader

1
推荐指数
1
解决办法
1573
查看次数

如何使用毕加索或通用图像加载器和列表视图

从互联网文本数据加载并链接到图像.我无法理解如何在listview中加载图像.阅读,它需要使用毕加索或通用图像加载器,但不明白如何.请更正我的代码

    public class JsonReadTask extends AsyncTask<String, Void, String> {

      @Override
      protected String doInBackground(String... params) {
       HttpClient httpclient = new DefaultHttpClient();
       HttpPost httppost = new HttpPost(params[0]);
       try {
        HttpResponse response = httpclient.execute(httppost);
        jsonResult = inputStreamToString(
          response.getEntity().getContent()).toString();
       }

       catch (ClientProtocolException e) {
        e.printStackTrace();
       } catch (IOException e) {
        e.printStackTrace();
       }
       return null;
      }

      private StringBuilder inputStreamToString(InputStream is) {
       String rLine = "";
       StringBuilder answer = new StringBuilder();
       BufferedReader rd = new BufferedReader(new InputStreamReader(is));

       try {
        while ((rLine = rd.readLine()) != null) { …
Run Code Online (Sandbox Code Playgroud)

android universal-image-loader picasso

0
推荐指数
1
解决办法
5843
查看次数