当我在 android 中使用哈希映射时显示警告(使用新的 SparseArray

2023-12-20

我是 Android 开发新手。在我使用的 Android 应用程序中HashMap,但我收到警告:

**"Use new SparseArray<String>(...) instead for better performance"**

这是什么意思,我该如何使用SparseArray<String>反而?


Use new SparseArray<String>(...)而是为了更好的性能

由于所述原因,您收到此警告here http://developer.android.com/reference/android/util/SparseArray.html.

SparseArrays 将整数映射到对象。与普通数组不同 对象,索引中可能存在间隙。其目的是为了更多 比使用 HashMap 将整数映射到对象更高效。

Now

我如何使用 SparseArray ?

您可以通过以下方式进行:

  1. HashMap way:

    Map<Integer, Bitmap> _bitmapCache = new HashMap<Integer, Bitmap>();
    private void fillBitmapCache() {
         _bitmapCache.put(R.drawable.icon, BitmapFactory.decodeResource(getResources(), R.drawable.icon));
         _bitmapCache.put(R.drawable.abstrakt, BitmapFactory.decodeResource(getResources(), R.drawable.abstrakt));
         _bitmapCache.put(R.drawable.wallpaper, BitmapFactory.decodeResource(getResources(), R.drawable.wallpaper));
         _bitmapCache.put(R.drawable.scissors, BitmapFactory.decodeResource(getResources(), 
     }
    
    Bitmap bm = _bitmapCache.get(R.drawable.icon);
    
  2. SparseArray way:

    SparseArray<Bitmap> _bitmapCache = new SparseArray<Bitmap>();
    private void fillBitmapCache() {
         _bitmapCache.put(R.drawable.icon, BitmapFactory.decodeResource(getResources(), R.drawable.icon));
         _bitmapCache.put(R.drawable.abstrakt, BitmapFactory.decodeResource(getResources(), R.drawable.abstrakt));
         _bitmapCache.put(R.drawable.wallpaper, BitmapFactory.decodeResource(getResources(), R.drawable.wallpaper));
         _bitmapCache.put(R.drawable.scissors, BitmapFactory.decodeResource(getResources(), 
     }
    
    Bitmap bm = _bitmapCache.get(R.drawable.icon);
    

希望它会有所帮助。

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

当我在 android 中使用哈希映射时显示警告(使用新的 SparseArray) 的相关文章

  • 使用 ColorMatrix 调整亮度

    我正在尝试使用 ColorMatrix 调整图像的亮度 当尝试调整色相时 您可以在 Photoshop 中看到此选项 亮度和亮度也是两个不同的功能 但我不知道要更改哪些值才能实现此目的 目前我可以使用此代码更改色调 public stati
  • 服务如何在后台运行 - Android

    今天的采访中我被问到了这个问题 什么是服务 我对此的回答是 Service 是 Android 的基本组件 它没有 UI 并且在后台运行 Service 是否在主线程上运行 不 那么它是如何在后台运行的呢 我心里一片空白 有人可以解释一下如
  • 将用户重定向到 iTunes 应用商店或 Google Play 商店?

    我正在寻找一种简单的解决方案来发布我的应用程序的一个链接 例如在 Facebook 上 如果用户使用移动设备访问它 它应该自动重定向到正确的应用程序商店 否则 用户应该被重定向到我的网站 iOS应用程序 http itunes apple
  • AIRPLANE_MODE 的广播接收器无法与 SDK 26 一起使用

    通常 我使用简单的代码来放置Toast当用户改变AIRPLANE MODE 并且它可以使用targetSdkVersion 25 我的 AirPlaneModeReceiver public class AirPlaneModeReceiv
  • ndk-build error.opencv2/core/core.hpp:没有这样的文件或目录

    我在 Android 中使用 OpenCV Nonfree 模块时遇到问题 我读了这个教程https sites google com site wghsite technical notes sift surf opencv androi
  • 与通用地图相比,MapView 的分辨率较差

    我刚刚收到 HTC Desire 进行测试 我注意到 残留在小于整个屏幕的框架中的地图视图不如通用地图应用程序那么清晰 有什么办法解决这个问题吗 您应该使用 API 级别 4 或更高级别编译应用程序 然后在 AndroidManifest
  • 突出显示列表视图项目

    我需要在触摸列表视图项目时突出显示它并保持突出显示状态 我尝试了我发现的一切 但没有任何效果 这是我的代码 这是列表视图
  • 将清除会话标志设置为 FALSE 后,我丢失了已发布的值

    有人有一个合乎逻辑的解释为什么尽管我有clear session flage false当我未连接到经纪商时 我没有收到我订阅的更新的已发布消息 将 aore提到的标志设置为 false 后 我运行了我的应用程序 并且我不断向主题发布一些值
  • 构建应用程序时出现 BufferOverflowException

    每次我想运行我的 Android 应用程序时 我都会收到错误 2013 11 02 13 05 36 Dex Loader Unable to execute dex java nio BufferOverflowException Che
  • Android 游戏偶尔出现延迟

    我正在用 Java 制作一个简单的 Android 游戏 我注意到每 20 40 秒就会出现一些烦人的延迟 首先 我认为它们是由垃圾收集器引起的 但当我检查 LogCat 时 我发现游戏滞后时没有垃圾收集 每当游戏开始滞后时 我都会标记日志
  • 使用 START_STICKY 启动时服务进程被终止后的 onStartCommand

    我一直在阅读 Android 文档 我想知道是否有人可以阐明当以 START STICKY 启动的服务的进程被终止时服务实例会发生什么情况 我假设本地状态数据 实例变量 也丢失了 Android 在重新创建服务时是否会采取任何措施来帮助重新
  • MutableStateflow 值、更新、发出

    假设我有一个可变状态流 https kotlin github io kotlinx coroutines kotlinx coroutines core kotlinx coroutines flow mutable state flow
  • DialogFragment 关闭事件

    我需要处理 DialogFragment 的结尾 在调用 dismiss 之后 例如 我会在关闭后 包含 片段的活动内显示一个 toast 我该如何处理该事件 覆盖onDismiss 在你的DialogFragment中 或者使用setOn
  • Grade Plugin 3-alpha1 输出文件导致错误

    我正在尝试将项目更新到 Android Studio 3 build gradle 文件中不再接受以下代码片段 applicationVariants all variant gt variant outputs each out gt d
  • 带有工具提示的搜索栏 android

    Hi All 我正在尝试使用工具提示自定义 android 搜索栏 如给定的图像 有没有办法在搜索栏中添加带有拇指的文本视图 或任何其他想法 Thanks 我们可以通过拇指的界限来做到这一点 并在seekbar的progressChange
  • 在 VideoView 开始播放之前,TextView 不会显示

    我编写了一个android应用程序 它有两个视图 TextView上方的VideoView 位于ScrollView内部 我遇到了一个问题 直到VideoView开始播放视频 TextView才显示 并且我有一个黑屏 这可能需要很长一段时间
  • 致命异常:GoogleApiHandler

    在我的项目中 我使用货币化服务 Vungle AppLovin 当我尝试加载广告时 出现此异常 E AndroidRuntime 致命异常 GoogleApiHandler 进程 kz ikar PID 3673 java lang NoS
  • AndroidAnnotations 和 Dagger

    我正在尝试使用 Dagger 注入 Android 带注释的 Activity java lang IllegalArgumentException No inject registered for members com app serv
  • Retrofit 2.0:预期为 BEGIN_OBJECT,但在第 1 行第 1 列路径 $ [重复] 处为 STRING

    这个问题在这里已经有答案了 我在邮递员上传递了更新用户请求并获得了成功的响应 参见图片 现在当我尝试使用 Retrofit 2 在我的应用程序中执行相同操作时 出现错误 com google gson JsonSyntaxException
  • Android Webview隐私浏览

    我在我的 Android 应用程序中使用 webview 从多个站点获取一些网页 我对 webview 行为有一些疑问 webview 是否存储历史记录 cookie 表单自动填充信息 如果是的话 我们可以阻止它这样做吗 如果 Webvie

随机推荐

  • PDF 到 Pandas 数据框

    就在我以为我终于明白了的时候 真是个新手 我正在尝试从 PDF 表格的一列中获取数字列表 第一步我想转换为 Panda DF pip install tabula py pip install PyPDF2 import pandas as
  • 我无法在 RStudio 中将文档转换为 PDF

    我必须使用 RStudio 来编写 PDF 格式的报告 但是当我尝试将文档与 Rmarkdown 中的块中所需的包进行编写时 它向我显示以下错误 tlmgr search file global multirow sty tlmgr Rem
  • Python 类的意外行为

    我正在 OOP 中开发一个纸牌游戏只是为了练习 到目前为止我所写的内容中有一些奇怪的行为 当我使用clear方法清空双手时 会发生的是个别双手显示它们是空的 但是当我查看双手变量 显示双手 时 它们不是空的 我的问题是为什么 哈哈 我将把代
  • 如何管理不是通过类型下载的类型定义文件?

    我有一个Angular我正在使用的应用程序npm and typings管理拉下我的类型定义文件 d ts for TypeScript 不过我有几个 d ts不存在的文件typings并且可以手动滚动或从备用源手动下载 从项目结构的角度来
  • 映射类型以使所有属性成为必需

    TypeScript 类可以具有可选属性和必需属性 class SomeClass foo string bar string baz string qux string The Partial
  • Android Market 搜索引擎如何工作? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 如何提高应用在 Android Market 搜索结果中的排名 这些应用程序似乎没有按下载量排序 Edit 这个问题的范围仅限于使用 Android
  • 在 iPhone 上拖动 UIScrollView 时,OpenGL ES 视图中的动画冻结

    我有一个动画透明 OpenGL ES 子视图 Apple 模板 EAGLView 类的修改 它绘制一个旋转球体 就像 Apple 的示例一样 CADisplayLink 用于可用的设备 在同一屏幕上 有一个包含可以选择的 UIButtons
  • 如何为默认值“现在”的日期字段建立索引?

    我需要添加日期字段类型 以便文档将当前系统日期时间作为默认值 我正在使用 Elasticsearch 7 5 PUT myindex mappings properties create date type date format yyyy
  • 我不明白为什么我的 JavaScript 文件在链接时不会显示

    我不明白这里出了什么问题 而且我没有从 Javascript 文件中得到任何输出 我正在尝试使用 src 以便能够在索引文件之外键入我的 javascript 文件 这只是打印 html 文件 A test header 中的标题 而不打印
  • 如何使用 Teams JS SDK v2 向 Microsoft Teams 中的用户或频道发送大文本消息?

    我目前正在使用 Microsoft Teams JavaScript SDK v2 TeamsJS 开发一个应用程序 并且正在努力寻找一种向特定用户或频道发送大文本消息的方法 我已成功使用 selectPeople API 使用户能够从列表
  • 什么是 Cache-Control: private?

    当我访问时chesseng herokuapp com http chesseng herokuapp com我得到一个响应标头 如下所示 Cache Control private Connection keep alive Conten
  • 如何在docker中运行无头浏览器?

    我正在使用无头浏览器构建一个爬虫 但现在我想对我的应用程序进行 dockerize 我已经在我的 docker 映像中安装了 chrome 但在运行脚本时它会抛出错误 启动Chrome js const chromeLauncher req
  • @Transactional 与 JPA 和 Hibernate 有什么用?

    我正在学习如何使用 JPA 和 Hibernate 以及 MySQL 数据库创建 REST API 并且我看到了这个 Transactional 注释 有人能解释一下这个注释有什么用吗 例如我有这个简单的 DAO 类 Repository
  • 将 csv 导入到 xlsx python

    我正在尝试将 csv 文件中的一些数据放入现有的 Excel 文件中 我现有的 Excel 文件包含图像 而 xlrd 无法获取图像 我尝试使用 xlsxwriter 但它无法附加到现有的 xslx 我找到的唯一解决方案是使用 openpy
  • AppDelegate 文件适合 MVC 中的什么位置?

    我正在学习 iPhone iPad 编程 我相信我理解了MVC的概念 我遇到的困难是理解普通 iPhone iPad 应用程序中的某些文件如何适合 MVC 当您使用 基于视图的应用程序 模板创建新应用程序时 将创建 AppDelegate
  • Python pandas - 如果该项目在列表中,则新列的值

    我想在 pandas 数据框中创建一个新列 第一列包含国家 地区名称 该列表包含我感兴趣的国家 例如欧盟 新列应指示数据框中的国家 地区是否在列表中 以下是代码的简化版本 import pandas as pd import numpy a
  • 如何求一系列数字的最小公倍数?

    给定一个由两个数字组成的数组 让它们定义一系列数字的开始和结束 例如 2 6 表示范围 2 3 4 5 6 我想编写 javascript 代码来查找范围的最小公倍数 我下面的代码仅适用于小范围 而不是类似的 1 13 即范围 1 2 3
  • SSH 握手抱怨缺少主机密钥

    我正在尝试连接到远程主机并检查文件是否存在 在这个阶段 我只是尝试连接 但出现错误 2017 08 01 18 16 39 unable to connect ssh handshake failed ssh required host k
  • 如何并行化 Azure ML 服务计算集群上的工作?

    我可以使用计算集群将作业提交到 Azure ML 服务 它运行良好 并且自动缩放与自定义环境的良好灵活性相结合似乎正是我所需要的 然而 到目前为止 所有这些作业似乎只使用集群的一个计算节点 理想情况下 我希望使用多个节点进行计算 但我看到的
  • 当我在 android 中使用哈希映射时显示警告(使用新的 SparseArray

    我是 Android 开发新手 在我使用的 Android 应用程序中HashMap 但我收到警告 Use new SparseArray