Fresco 在大图像 (>2048px) 上的自动调整大小功能可以禁用/调整吗?

2023-12-20

在长尺寸 >2048px 的图像上 Fresco自动应用调整大小 https://frescolib.org/docs/troubleshooting.html:

Android 无法显示任一维度长度超过 2048 像素的图像。这超出了OpenGL渲染系统的能力。如果超过此限制,Fresco 将调整您的图像大小。

据我了解,这是作为解决方法OpenGL Android 限制 https://stackoverflow.com/questions/10271020/bitmap-too-large-to-be-uploaded-into-a-texture,但是有什么办法可以控制吗?

Here is an example of how Fresco is rendering a 750x2440 image with the default settings: enter image description here

And here is the same image on Picasso with the default settings: enter image description here

我已经尝试使用 Fresco 的调整大小/下采样但没有成功。

上图中使用的代码要点 https://gist.github.com/mmazzarolo/9fe9a142fe6259400c6fe3b19108f5e3

P.S.:


我只能使用以下方法来实现此目的isResizeAndRotateEnabledForNetwork() https://frescolib.org/javadoc/reference/com/facebook/imagepipeline/core/ImagePipelineConfig.html#isResizeAndRotateEnabledForNetwork()来自图像管道配置 https://frescolib.org/javadoc/reference/com/facebook/imagepipeline/core/ImagePipelineConfig.html类,我不需要调整下采样。

初始化Fresco时需要添加一个额外的步骤(在Application类中);经过配置 https://frescolib.org/docs/configure-image-pipeline.html图像管道。

MyApplication 类如下所示:

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        ImagePipelineConfig pipelineConfig = ImagePipelineConfig.newBuilder(this)
                .setResizeAndRotateEnabledForNetwork(false)
                .build();
        Fresco.initialize(this, pipelineConfig);
    }
}

因此,不用初始化 FrescoFresco.initialize(this),添加一个 ImagePipeline 类,将其配置为禁用调整来自网络的图像大小.setResizeAndRotateEnabledForNetwork(false),然后将配置好的管道类传递给Fresco。

当它设置为 false 时:

然后当它设置为 true (很可能是默认值)时:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Fresco 在大图像 (>2048px) 上的自动调整大小功能可以禁用/调整吗? 的相关文章

  • 如何使用android canvas绘制一个只有左上角和右上角为圆角的矩形?

    我找到了一个用于所有 4 个角均为圆角的矩形的函数 但我只想将顶部 2 个角设为圆角 我能做些什么 canvas drawRoundRect new RectF 0 100 100 300 6 6 paint 对于 API 21 及更高版本
  • 在webview android上显示网页的一部分

    我想制作一个将网页内容加载到 webview 中的应用程序 我只想显示整个网页视图中的特定内容 而不是网页的全部内容 这是一个例子 如果我使用 作为 webview 的 URL 它会加载 webview 上页面的所有内容 但我想删除页面的横
  • ProGuard SimException

    经过大约 4 个小时的随机尝试 我正在尝试让 ProGuard 正常工作 尝试让这个令人惊叹的软件正常工作 我的项目使用 LibGDX 和 KryoNet 这是我当前的 ProGuard 配置 verbose dontobfuscate d
  • 以编程方式为从 XML 创建的现有菜单创建子菜单

    我已经在 xml 中创建了父菜单 现在我不知道如何使用代码在这些父菜单下创建子菜单 这意味着 父菜单在 menu xml 中进行编码 子菜单将在数据可用时基于动态代码加载 当我尝试使用 menu addSubMenu 时 它正在创建一个新的
  • 更换电池后广播接收器会导致某些手机上的应用程序崩溃

    每当手机插入电源时 我都会激活我的应用程序 这是我的清单
  • 自定义 AlertDialog - android.R.id.custom 的问题

    我确信我错过了这里的重点 所以我希望有人能解释一下 我想在用户触摸时创建一个弹出窗口ImageView 我看了一下AlertDialog文档说 如果您想显示更复杂的视图 请查找名为 custom 的 FrameLayout 并将您的视图添加
  • Android SIP 客户端 SipManager.open() 未打开

    我一直在使用 Android SDK 的本机 SIP 库编写 SIP 客户端 由于某种原因 我无法让我的帐户在服务器上注册 以下是测试场地 Linux Mint 17 XFCE 运行 Kamailio 服务器 启用 MySQL 和 TLS
  • 何时取消订阅

    我有一个关于如何取消订阅可观察的问题 我有两个代码 但我不确定哪一个更好 示例 1 gt 流结束后取消订阅订阅者 Subscriber
  • ChromeCast 无法播放 .m3u8 格式的 HLS

    应用程序中集成了 chromecast 一切正常 除了不播放 m3u8 格式的实时流媒体 url 而是播放 m3u8 格式的电影 url 我这样做是为了将 url 设置为 chromecast return new MediaInfo Bu
  • 在 Facebook 上分享文本和 URL

    我想分享一条消息 例如 查看图片http someUrl com http someUrl com从应用程序共享ABCapp 用户必须能够选择任何已安装的应用程序进行共享 我正在使用以下代码 Intent intent new Intent
  • SlidingPaneLayout setCoveredFadeColor () 和 setSliderFadeColor()

    我正在使用SlidingPaneLayout并希望在滑块右窗格打开时在左窗格上设置灰色渐变颜色 在右窗格关闭且左窗格完全可见时在左窗格上设置透明渐变颜色 我知道这是默认行为SlidingPaneLayout 但使用默认实现时 我在横向模式下
  • 无法使用 SLComposeViewController 将图像发布到 Facebook?

    我想将图像发布到 Facebook 和 Twitter 我对 twitter 很满意 但对使用 SLComposeViewController 类的 facebook 不太满意 无需添加图像 我就可以将文本和网址发布到 Facebook 中
  • 使用远程数据编写 Android、iPad、iPhone 客户端的技术

    我需要探索世界 你写了一个杀手级应用程序 但你有 Android iPhone iPad 客户端吗 我的问题是 1 向这些设备发送数据的最佳方式是什么 按照建议进行肥皂和休息here https stackoverflow com ques
  • Android Market 多个 APK...不同的 CPU 架构怎么样?

    所以我想我现在可以使用针对目标 CPU 架构的不同 NDK 编译库来上传我的应用程序 但似乎这是不可能的 有人知道如何将不同的 APK 上传到 Android Market 每个 APK 都包含专门为不同 CPU 架构编译的库吗 我还没有尝
  • 存储 FCM 的令牌

    我正在尝试将我的令牌存储在我的云数据库中 我稍后将在云函数中使用此令牌 以便向已添加为好友的用户发送通知 然而 推送设备令牌不起作用 因为用户未经授权 授权后我无法保存它 因为令牌是在安装应用程序时生成的 private static fi
  • 设置 JAVA_HOME 变量时出现问题

    所以我刚刚下载了 Android Studio 并尝试设置 JAVA HOME 变量以便我可以运行它 我使用的是 Windows 8 并按照我找到的所有说明进行操作 但无济于事 转到高级系统设置 gt 环境变量 然后使用包含我的 jre7
  • 如何处理在某些 Marshmallow 之前的设备上未自动授予 SYSTEM_ALERT_WINDOW 权限

    我收到一些小米设备 例如 Mi 2 运行 API 级别 21 不显示叠加层的报告 我的应用程序以 API 23 为目标 有several http forum xda developers com xiaomi mi 3 help link
  • Android 2.2 中不带预览的相机捕获

    我需要捕获图像而不显示预览 我想在后台作为服务来完成它 可以这样做吗 是有可能实现的 您应该定义一个处理 Camera 对象的类 例如调用 Camera open 等 不要为相机对象提供以下行以禁用预览 mCamera setPreview
  • 在另一个布局中以编程方式膨胀布局

    我的 Android 应用程序需要帮助 我需要在另一个布局中膨胀一个布局 但我不知道该怎么做 我的xml代码是这样的 item xml 我需要膨胀多个 xml 取决于可变数量
  • 水平 RecyclerView 顶部的滚动条

    我正在做简单的演示卧式RecyclerView 我想与回收视图一起显示滚动条 所以我添加了android scrollbars horizontal and android scrollbarSize 5dp 在 XML 中 我可以获得滚动

随机推荐