我正在使用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) 我在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
在我的应用程序中,我有一些包含一些项目的列表视图.每个项目都有一个从远程网址下载的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) 我有一个 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加载的图像的高度和宽度?
我在我的应用程序中使用Uinversal Image Loader,我需要在SampleSize中加载图像,怎么做?我是从作者那里读到的
为DisplayImageOptions添加了DecodingType参数
但我不知道要做什么,剪掉的代码会很棒!谢谢!
我制作了一个应用程序,它从 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) 我的项目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
我正在使用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) 从互联网文本数据加载并链接到图像.我无法理解如何在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)