我们正在构建一个应用程序,可以执行大量动画并下载大量图像.在一定数量的事务(可预测的数字)之后,应用程序崩溃并出现错误:
A/Looper: Could not create wake pipe. errno=24
Run Code Online (Sandbox Code Playgroud)
我们在代码中不使用Looper,但我们使用的一些库确实使用了Looper:
有没有任何机构经历过任何这些库的Looper错误,并知道如何解决?
我正在使用Picasso来下载和显示所有应用程序中的图像.这些图像很少变化(它们被认为有效几个月).
是否有一种简单的方法可以让Picasso(或底层的okHttp)将这些图像保存在光盘上这么长时间?
我正在使用Picasso 2.3.2和okhttp 1.5.4
最初我得到这个RTE:
java.lang.RuntimeException: Picasso detected an unsupported OkHttp on the classpath.
To use OkHttp with this version of Picasso, you'll need:
1. com.squareup.okhttp:okhttp:1.6.0 (or newer)
2. com.squareup.okhttp:okhttp-urlconnection:1.6.0 (or newer)
Note that OkHttp 2.0.0+ is supported!
at com.squareup.picasso.Utils.createDefaultDownloader(Utils.java:246)
at com.squareup.picasso.Picasso$Builder.build(Picasso.java:596)
at com.squareup.picasso.Picasso.with(Picasso.java:473)
Run Code Online (Sandbox Code Playgroud)
然后我用com.squareup.okhttp更新了pom:okhttp:1.6.0(运行mvn clean install,在IntelliJ中重新导入maven),但崩溃仍然发生.
有谁知道如何解决这个问题?
我在我目前的项目http://square.github.io/picasso/中使用Picasso库.一切都运行正常,但我无法弄清楚如何为从URL加载的所有图像实现Pinch Zoom.说实话,我甚至不知道放在哪里onClickListener.我的应用程序有几个片段,每个片段有2个Tabs,第一个Tab有一个ListView,第二个tab有一些图片显示在GridView:
Bmw.java
public class Bmw2 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(com.zenyt.R.layout.bmw2, container, false);
GridView gv = (GridView) rootView.findViewById(R.id.grid_view);
gv.setAdapter(new com.zenyt.SampleGridViewAdapter(getActivity()));
gv.setOnScrollListener(new SampleScrollListener(getActivity()));
return rootView;
}
Run Code Online (Sandbox Code Playgroud)
SampleGridViewAdapter
public final class SampleGridViewAdapter extends BaseAdapter {
private final Context context;
private final List<String> urls = new ArrayList<String>();
public SampleGridViewAdapter(Context context) {
this.context = context;
// Ensure we …Run Code Online (Sandbox Code Playgroud) 我如何使用毕加索将图像裁剪为imageview?
默认似乎缩小它,所以整个事情显示适合似乎伸展它.centercrop本身就打破了.fit centercrop似乎与合适相同
谢谢
有两种情况我加载图像,第一种是直接从互联网上加载,第二种是加载在设备中下载的图像.每当我加载时,显示10个图像中的8~9个,并且1-2个丢失.我看到解码返回false,并尽可能地坚持google,但无法提出.
- WAIT_FOR_CONCURRENT_GC阻止了22ms
- WAIT_FOR_CONCURRENT_GC阻止了20ms
- GC_FOR_ALLOC释放718K,31%免费9948K/14256K,暂停49ms,总计51ms
- D/skia:--- decoder-> decode返回falseGC_CONCURRENT释放1370K,30%免费10081K/14256K,暂停3ms + 2ms,总计33ms
- GC_FOR_ALLOC释放916K,30%免费10029K/14256K,暂停66ms,总计67ms
这是我用来加载Picasso的代码:
Picasso.with(activity)
.load(path)
.placeholder(R.drawable.thumbnail_placeholder)
.resize(width,height)
.into(imageView);
Run Code Online (Sandbox Code Playgroud)
任何想法如何解决这个问题?我每次在屏幕上加载图像时都会调用fit()/ resize().非常感谢,提前感谢!
仅供参考,我在机器,仿真器和真实设备三星Galaxy Tab 3上进行测试,并且在仿真器上没有任何问题,但在真实设备上会出现问题.
更新:
它是由图像的色彩空间引起的,其中未显示的图像是YMCK色彩空间中的图像.
我正在使用Picasso库在viewpager中加载图像,但是我需要加载一个位图而Picasso只接受File变量.如何使用Picasso加载位图文件?
Bitmap imagescompress = decodeSampledBitmapFromResource(getResources(), AnohanaAdapter.imagep[position], 100, 100);
Run Code Online (Sandbox Code Playgroud)
如果我把imagecompress放在Picasso的加载函数中,我就是这个错误:无法解析方法'load(android.graphics.Bitmap)'.
实际上对于加载图像我使用下面的代码:
Picasso.with(VistaSingola.this).load(AnohanaAdapter.imagep[i]).placeholder(R.drawable.ic_launcher).error(R.drawable.error).fit().into(imageViewTouch);
Run Code Online (Sandbox Code Playgroud)
但图像很大,我不想进入OutOfMemory.有人可以帮帮我吗?请.
谢谢大家的帮助
我在我的Android应用程序上使用Picasso库来加载图像.我想在我的应用程序上添加一个名为"清除图像缓存"的选项,它将从缓存中删除所有下载的图像,但显然这只会从我的应用程序中删除下载的图像(我的意思是不会从其他应用程序中删除).
使用毕加索有一种简单的方法吗?使用本机组件?
谢谢!
我正在使用Picasso库v2.5.2进行演示应用程序.它适用于所有Android操作系统版本,但不适用于棒棒糖.
尺寸为130KB的图像,不适合我.尺寸较小的图像正确加载.
这是我下载位图和在imageview上设置的代码.
target = new Target() {
@Override
public void onPrepareLoad(Drawable drawable) {}
@Override
public void onBitmapLoaded(Bitmap bitmap, LoadedFrom arg1) {
if(bitmap != null) {
imageView.setImageBitmap(bitmap);
}
}
@Override
public void onBitmapFailed(Drawable drawable) {}
};
Picasso.with(this).load(URL).into(target);
Run Code Online (Sandbox Code Playgroud)
我不确定我还有什么额外的东西,所以我也会在棒棒糖上工作,或者这是lib中的错误?
我正在使用picasso库将服务器中的图像加载到我的应用程序中.我的问题是,当图像加载时,它在图像的左上角有一个带有颜色的三角形(如蓝色,绿色,红色).这是我加载图片的代码:
public static void loadDynamicImage(final String url, final Context context, final ImageView imageView, final int width, final int height){
Picasso.with(context).load(url)
.networkPolicy(NetworkPolicy.OFFLINE)
.resize(width,height)
.onlyScaleDown()
.into(imageView, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
Picasso.with(context).load(url).resize(width,height).onlyScaleDown().into(imageView);
}
});
}
Run Code Online (Sandbox Code Playgroud)