Android 中图片的存储位置

2023-12-06

我已将所有图像从 mipmap 文件夹移至可绘制文件夹,因为据说 mipmap 文件夹仅用于应用程序图标来启动应用程序Mipmap 与可绘制文件夹(这个答案得到了841个赞)。但是,当我现在想要启动我的应用程序时,我收到一条错误消息

 FATAL EXCEPTION: main
    Process: com.example.td.barapp, PID: 4331
    java.lang.RuntimeException: Canvas: trying to draw too large(188394348bytes) bitmap.
        at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:260)

在几个相关问题中,人们告诉我们将图片存储在不同的可绘制文件夹中(请参阅Android:了解可绘制文件夹)如drawable-xxhdpi 或drawable-xxxhdpi。

Update: I was told by someone in this post (who later deleted his answers) to store the image (which has a size of 1,7 MB) in the folder drawable-anydpi. I did as he said but the outcome on the Emulator looks quite bad for an imageview (see screenshot): Comparison of the emulator output of the same file Then I moved the same file back into the folder mipmap-xxxhdpi and now it looks good again. So my question now is, whether it is also okay to have the image in the mipmap-xxxhdpi folder instead of the drawable folder? I'd be happy for every advice because I am quite confused now.


java.lang.RuntimeException:Canvas:也尝试绘制 大(188394348字节)位图

这个异常主要是因为你试图显示一个大图像〜188MB,它将具有高分辨率,并且android对此进行了限制,这也报告here.

原因之一是为了节省设备资源;例如你可能会得到java.lang.OutOfMemory,因此系统从中节省设备内存。

1, 2, 3可能会彻底指导您。

通常,您可以在应用程序中使用几兆字节的图像~0-3MB。 第三方库如Glide & Picasso在 ImageView 上显示图像时提供磁盘、网络和内存管理技术。

您可以考虑的选项之一是在加载图像之前调整图像大小,因此可以查看this问题。

请记住,Android 对应用程序商店中的 apk 文件进行了限制,因此您需要因此最小化图像,或者从后端服务器加载它们。

正如您提到的,您只能将应用程序图标放在 res\mipmap 中。如果您决定将图像放在应用程序上,那么以不同的密度(hdpi、xhdpi、xxhdpi、xxxhdpi...)创建它们会很有效,因此它们可以匹配所有各种设备分辨率,并让您避免图像失真或由 Android 操作系统进行高处理,以便在显示图像之前将图像与设备分辨率相匹配。

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

Android 中图片的存储位置 的相关文章

  • 如何在android中实现触摸平滑图像橡皮擦?

    我已经从 API 演示中看到了finturePaint java 我想实现触摸平滑橡皮擦 通过在android中触摸移动来擦除部分图像 FingerPaint 告诉我要实现这个 mPaint setXfermode new PorterDu
  • 我在布局上看不到任何 FirebaseRecyclerAdapter 项目

    我试图将数据从 Firebase 数据库检索到我的布局 但我看不到任何项目FirebaseRecyclerAdapter在布局中 请帮忙 我按照一个教程展示了如何做到这一点 当我运行应用程序时 我没有看到任何项目 但我可以滚动 public
  • AdapterContextMenuInfo 始终为 null

    我尝试通过 android 开发文档中的书来做到这一点 this didn t create a menu i don t know why registerForContextMenu getListView setListAdapter
  • Android Q:file.mkdirs() 返回 false

    我们有一个应用程序 使用外部存储来存储一些临时文件 图像 二进制数据 该代码已经运行了几年 直到最近才发生重大变化 在 Android Q 上它不起作用 File f new File Environment getExternalStor
  • fetchUuidsWithSdp 的奇怪 UUID 逆转

    我有一个在树莓派上运行的 python 蓝牙服务器 使用 PyBluez 我在服务器中使用的uuid是 8f86d132 4ab8 4c15 b8df 0b70cf10ea56 我正在打电话device fetchUuidsWithSdp
  • Recyclerview 动态部分不使用任何第三个库

    我想将标头添加到 recyclerview 我正在尝试使用来实现它 Override public int getItemViewType int position depends on your problem if position 0
  • 如何重定向到 instagram://user?username={username}

    我的 html 页面上有这个链接 可以在特定用户上打开 Instagram 应用程序 a href Link to Instagram Profile a 我一直在寻找自动运行 url instagram user username USE
  • Dialog.setTitle 不显示标题

    我正在尝试向我的对话框添加自定义标题 但是每当我运行我的应用程序时 它都不会显示标题 我创建对话框的代码是 final Dialog passwordDialog new Dialog this passwordDialog setCont
  • Android 深度链接至 Instagram 应用

    Instagram 已经发布了 iOS 深层链接的 url 方案 但尚未为 Android 创建文档 有没有办法深入链接到 Android 上的 Instagram 应用程序 以转到 Instagram 应用程序中的特定位置 例如 Inst
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • OnLongClickListener 不工作

    我有一个ImageView 我需要使用onLongClickListener对于图像视图 当我使用这段代码时 什么也没有发生 Code gallery Gallery findViewById R id gall1 gallery setA
  • 如何在 Android 中从 WorkManager 取消工作?

    我已经保存了 WorkManagerUUID转换成String在领域数据库中 这是代码 Constraints constraints new Constraints Builder setRequiredNetworkType Netwo
  • Dagger 2 没有生成我的组件类

    我正在使用 Dagger 2 创建我的依赖注入 几个小时前它还在工作 但现在不再生成组件 这是我创建组件的地方 public class App extends Application CacheComponent mCacheCompon
  • Android Studio 缓慢的增量构建

    我已经完成了许多步骤来完善我们的构建系统 those https stackoverflow com questions 16775197 building and running app via gradle and android st
  • 上网本上可以进行Android开发吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想使用我的上网本进行 Android 开发 但是当我尝试使用 Eclipse 运行 SDK 时 没有加载任何内容 上网本对于 Android 开发来
  • 如何检查 Android 中的同步设置

    我正在构建一个 Android 应用程序 我需要检查设备中注册的每个单独帐户的同步设置 我知道我可以通过 ContentResolver 类来做到这一点 但我遇到了一些问题 我已设法获取设备上所有帐户的列表 但我不知道在运行时从哪里获取特定
  • 没有用于警告的设置器/字段 Firebase 数据库检索数据填充列表视图

    我只是想将 Firebase 数据库中的数据填充到我的列表视图中 日志显示正在检索数据 但适配器不会将值设置为列表中单个列表项中的文本 它只说 没有二传手 场地插入值 这让我觉得我的设置器没有正确制作 但 Android Studio 自动
  • 在 Android 应用程序资源中使用 JSON 文件

    假设我的应用程序的原始资源文件夹中有一个包含 JSON 内容的文件 我如何将其读入应用程序 以便我可以解析 JSON See 开放原始资源 http developer android com reference android conte
  • 发布的 Android apk 出现错误“包文件未正确签名”

    我最近将我的应用程序上传到 Android 市场 但是由于错误 下载时它拒绝运行 包文件未正确签名 我首先使用 eclipse 发布了数据包 右键单击导出 创建密钥库然后发布 但它拒绝工作 然后我下载了 keytool 和 jarsigne
  • Android 屏幕方向错误

    我使用的是 Android HTC HERO 2 1 版本 我写的活动

随机推荐

  • 按值返回的右值引用参数是 xvalue 吗?

    我的理解是 在下面的函数中 表达式foo在声明中return foo 是一个 xvalue 因为它表示的对象即将过期 即使foo是前面语句中的左值 Foo bar Foo foo change foo return foo 此类到期值不属于
  • 跟进术语,寻找行动项目

    我想编写一个快速脚本来提醒自己将后续操作项目放在各种谷歌文档上 从谷歌驱动器中受益 以便从 API list 中受益 然而 似乎followup actionitems搜索查询不适用于 API 因为搜索词未知 它返回 400 错误 例如 这
  • 尝试 listview.getChildAt() 时出现 java.lang.NullPointerException

    ListView 具有正确的值 public class FragmentTab1 extends SherlockFragment ListView list LazyAdapter adapter Override public voi
  • 获取父 ID 的子页面并显示自定义图像字段以及 WordPress 中页面的链接

    我需要获取子页面列表 但我需要排除第一个子页面 我还需要显示一个名为 page icon 的自定义图像字段 其中包含每个图像的 url 和页面标题 这将充当子菜单 将显示在每个子页面上 每个菜单项都需要将当前类附加到 a 标签 我尝试了多种
  • Accumulo 支持聚合吗?

    我是 Accumulo 的新手 我知道我可以编写 Java 代码来使用 Hadoop 和 MapReduce 扫描 插入 更新和删除数据 我想知道的是 Accumulo 中是否可以进行聚合 我知道在MySql中我们可以使用groupby o
  • Windows 中用于生物识别身份验证的凭据提供程序

    我有一个定制的基于 USB 的指纹识别设备 如何将设备上的指纹与 Windows 计算机的用户关联起来 使用 CredentialProvider 首先 我希望在指纹扫描时自动登录 而不提示输入用户名 密码 我意识到应该有一些注册过程来将指
  • Chome 扩展:将 chrome.storage 数据从后台脚本发送到 popup/contentscript

    如标题中所述 我正在尝试编写一个后台脚本 该脚本将侦听来自 popup js 或 contentscript js 的加载请求 当它接收到负载时 它会获取 chrome storage local 的内容 执行一些数据处理 for 循环 并
  • 如何使用 Pharo 每 60 秒刷新一次会话并将其显示在成绩单上?

    a b a ZnClient new a get http cloud storage com login a formAt username put jom formAt password put mypass post get http
  • 自定义或可重复使用的 HTML 组件

    我们可以在 HTML 中创建自定义或可重用的组件吗 我的页面具有帐户搜索功能 该功能是使用 HTML JS jQuery 代码实现的 我的页面由不同地方的帐户搜索组成 功能同样困难 每次使用时 只有 div 的 ID 会发生变化 那么我们能
  • 控制中心中的“播放/暂停下一个/上一个”按钮显示为灰色

    在我的应用程序中 播放是从控制中心控制的 当在 AVPlayer 中进行播放时 此时播放控件在控制中心工作正常 我正在加载带有其他流 URL 的 Web 视图 一旦流再次完成 我就开始从 AVPlayer 播放 此后 控制中心的播放控件将显
  • javascript Thrift 客户端挂起

    我在 javascript 中有以下 Thrift 客户端代码
  • JAXB 解组 XML 字符串 - 循环遍历所有标签

    我是 Java 编程新手 正在解组以下 XML 字符串 我的任务是获取客户的姓名 这个字符串 我已经为一位客户做过 我需要获取所有客户姓名 我需要有关循环部分的帮助 这适用于一位客户 我的Java代码 XMLInputFactory xif
  • Sprite Kit - iOS 7.1 更新后由于缩放而导致对象碰撞

    没有问题 但在 iOS 7 1 更新后 物体碰撞 2pipes 的间隙 之前有人说过 这可能是因为 yScale 但我找不到解决方案 一些代码 Pipe pipe Pipe alloc initWithImageNamed pipeImag
  • @onclick="(() => SomeMethod(参数))"

    我正在研究 Blazor 偶然发现了这个表达式 onclick gt SomeMethod parameter 我无法在任何地方找到 谷歌这个 我猜 lambda 表达式实际上在做什么 谁能帮我解释一下这部分 gt 以及为什么使用它以及在哪
  • 如何使用 Webpack 2 获取数据属性内的图像?

    我在用 pug我的 HTML 和标准模板src我的图像上的属性如下所示 img src images image 当我跑步时webpack p 任何定义在src我的图像被 Webpack 找到并放入我的dist目录 这正是我所期望发生的事情
  • asp.net 树形视图复选框选择

    我有几个父节点 每个父节点都包含一个子节点列表 我的显示复选框设置为全部 我的问题 在客户端 当我检查父节点时 如何在不进行回发或使用 ajax 的情况下检查所有子节点 Regards tv Attributes Add onclick O
  • 如何在 CakePHP 中使用 TranslateBehavior?

    cakephp org 上没有文档 我无法在 google 上找到文档 请给我链接一些文档或提供一份 翻译行为是 CakePHP 的另一个非常有用但文档很少的功能 我已经在多语言网站上实施了几次 并取得了一定的成功 遵循以下原则 首先 翻译
  • 如何使用 powershell 中的 psexec 启用 winrm

    我编写了一个 powershell 脚本来远程执行一些操作系统验证 但是当远程服务器未使用 winrm 启用时 我收到以下消息 那么如何强制 winrm 使用 psexec 远程启用 Connecting to remote server
  • 当一切都正确加载和注释时,setText() 出现 NullPointer 异常

    我在尝试调用时收到以下异常setText 在我带注释的标签上 来自start 方法 我见过类似的问题 但它对那个人不起作用的原因是因为他的标签没有注释 而我的是 java lang NullPointerException at io gi
  • Android 中图片的存储位置

    我已将所有图像从 mipmap 文件夹移至可绘制文件夹 因为据说 mipmap 文件夹仅用于应用程序图标来启动应用程序Mipmap 与可绘制文件夹 这个答案得到了841个赞 但是 当我现在想要启动我的应用程序时 我收到一条错误消息 FATA