问题标签 [fresco]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
679 浏览

android - Android fresco如何获取保存缓存回调?

我有一个关于 android fresco 库的问题。你们知道当文件保存在缓存中时如何获取回调吗?通常,我们可以从缓存中获取文件:

但是,如果我把它放在 onCreate() 函数中,它会崩溃,因为文件还没有在缓存中。你们知道壁画保存完成后我是如何得到回调的吗?是数据订阅者吗?你们能举个例子吗?我阅读了文档,但我无法弄清楚。

谢谢。

0 投票
1 回答
1408 浏览

android - 如何让 Fresco 显示完整质量的图像

我正在使用 Fresco 显示来自本地驱动器的图像。我的问题是 Fresco 不会在 DraweeView 中显示完整的高质量图像,而是显示质量非常低的微小图像,如下所示:

显示低质量图像的壁画

(我也看过这张照片,actualImageScaleType="fitCenter"所以不仅仅是它们是小尺寸的高质量照片,它们实际上质量很差,分辨率也很低。)

这些图像是由手机的 8 兆像素相机拍摄的,因此质量很好。我也在我的电脑上看过它们,并看到了高质量的 8 兆像素图像。所以我一定是做错了什么,并以某种方式显示了低质量的图像。

在布局 xml 我有以下定义 SimpleDraweeView 元素:

然后在代码中:

Fresco 需要做什么才能显示高分辨率/高质量图像?

更新:这些图像没有被压缩,只是通过fileOutputStream.write(imageByteArray). 现在如果我改变它并使用压缩图像bitmap.compress(Bitmap.CompressFormat.JPEG, 75, bufferedOutputSteam),一个高质量的图像将显示在 DraweeView 中。但是,这样应用程序会大大减慢速度。

0 投票
1 回答
2439 浏览

android - Fresco:使用 Drawee 中显示的当前图像作为下一个请求的占位符

我在同一个上按顺序播放多个图像SimpleDraweeView,问题是在提交新的 imageURI 请求时,SimpleDrweeView将删除当前显示的图像并将其替换为空,直到下载 URI。所以它会在播放序列中留下空白(你可以想到我正在尝试做的是使用本地照片的卡通动画)。我希望 SimpleDrweeView 保持当前图像不变,直到下载新图像,然后在准备好时交换它。

我尝试使用这张票中的低分辨率/高分辨率方案将旧的 uri 作为占位符,但这不起作用(与以前的效果相同)。

这就是我现在所拥有的:

这是我迄今为止尝试过的(没有用):

0 投票
5 回答
10854 浏览

android - Facebook Fresco 使用 wrap_content

我有一堆我想使用 fresco 加载的可绘制对象,我想wrap_content为这些图像使用大小,我怎样才能在 xml 中使用 fresco 来做呢?或者如果 xml 是不可能的,你如何在代码中做到这一点?

除非我设置固定大小,否则上述代码不起作用。

0 投票
1 回答
992 浏览

android - Fresco - 取消预取请求

在我的应用程序中,我预取了图像,因此当用户使用prefetchToBitmapCache. 现在,当用户应用过滤器时,这些预取仍保留在管道中并减慢新图像的加载速度。

我是如何预取的:当使用向下滚动图像时,我在' 值之后预取X个图像。LinearLayoutManager.findLastVisibleItemPosition()当用户应用过滤器时,我需要一种方法来取消所有这些预取。有没有办法做到这一点或更好的预取方式?

0 投票
3 回答
794 浏览

android - 为什么 fresco 选择不在 android 5.0 或更高版本的 ashmem 中放置位图

正如 git hub 上的 Fresco 项目所说:“在 Android 4.x 及更低版本中,Fresco 将图像放在 Android 内存的一个特殊区域中。这可以让您的应用程序运行得更快 - 并且更少地遭受可怕的 OutOfMemoryError。”

这个答案中,我知道它使用 ashmem 来放置位图。

我的问题是:为什么 fresco 不将位图放在 android 5.0 或更高版本的 ashmem 中?Android 是否会更改某些系统功能并将其禁用?

0 投票
1 回答
255 浏览

android - 如何在自定义视图中使用 Fresco?

我正在构建一个画布游戏,我直接在画布上绘制图像。

如何使用Fresco来加载这些位图?

0 投票
1 回答
503 浏览

android - fresco Postprocessor:java.lang.RuntimeException: Canvas: 试图使用回收的位图

12-21 11:01:14.045: E/AndroidRuntime(6819): java.lang.RuntimeException: Canvas: 试图使用回收的位图 android.graphics.Bitmap@4180103 12-21 11:01:14.045: E/AndroidRuntime( 6819): 在 android.graphics.Canvas.throwIfCannotDraw(Canvas.java:1084) 12-21 11:01:14.045: E/AndroidRuntime(6819): 在 android.view.GLES20Canvas.drawBitmap(GLES20Canvas.java:844) 12 -21 11:01:14.045: E/AndroidRuntime(6819): 在 android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:490) 12-21 11:01:14.045: E/AndroidRuntime(6819): 在 android .widget.ImageView.onDraw(ImageView.java:1037) 12-21 11:01:14.045: E/AndroidRuntime(6819): 在 android.view.View.draw(View.java:14465) 12-21 11:01 :14.045: E/AndroidRuntime(6819): 在 android.view.View.getDisplayList(View.java:13362) 12-21 11:01:14.045: E/AndroidRuntime(6819): 在 android.view.View。getDisplayList(View.java:13404) 12-21 11:01:14.045: E/AndroidRuntime(6819): 在 android.view.View.draw(View.java:14182) 12-21 11:01:14.045: E/ AndroidRuntime(6819): 在 android.view.ViewGroup.drawChild(ViewGroup.java:3103) 12-21 11:01:14.045: E/AndroidRuntime(6819): 在 android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940 ) 12-21 11:01:14.045: E/AndroidRuntime(6819): 在 android.widget.AbsListView.dispatchDraw(AbsListView.java:2458)dispatchDraw(AbsListView.java:2458)dispatchDraw(AbsListView.java:2458)

我建立了一个新类并使其扩展BasePostprocessor,我什么都不做。但是当它运行时,示例会抛出上述异常;我只是imagepipeline用来下载图像,不要使用simpledraweeview.

0 投票
6 回答
11006 浏览

android - 图像未在 Fresco 中加载

我正在尝试在 Fresco 中加载图像,但图像似乎没有加载。当我添加占位符视图时,占位符显示。

请注意,我在应用程序中初始化 Fresco,并且在清单中确实有互联网使用情况。

简单绘图视图

方法调用 loadImg

初始化

样本日志

显现

0 投票
1 回答
323 浏览

android - ListView项目显示错误的SimpleDraweeView

SimpleDraweeViewListView项目中使用过。如果 header url 不为 null,则显示来自网络的图像,或者显示来自本地 drawable 的默认图像。

代码如下:

当我滚动ListView到最后时,SimpleDraweeView显示与最后一个屏幕图像数据相同的图像。有人有同样的问题吗?