jjzjj

Android LRUCache 检索

coder 2023-12-10 原文

我已经在 Android 中实现了一个存储对象的标准 LRUCache。每个键都是与存储的对象关联的唯一 ObjectId。我的问题是从缓存中检索对象的唯一方法是通过 ObjectId(无迭代器)。实现 getAll() 方法的最佳方法是什么? 另一种选择是将所有 ObjectId 存储在列表中的某处,这样我就可以遍历列表并获取所有对象 - 但保存所有 ObjectId 的最佳方式是什么?

谢谢!

最佳答案

如果您正在使用(或扩展)LruCache Android 提供的,它有一个 snapshot返回键(您的 ObjectIds)和值(您的对象)映射的方法。你可以这样做:

Map<ObjectIds, Object> snapshot = lruCache.snapshot();
for (ObjectIds id : snapshot.keySet()) {
  Object myObject = lruCache.get(id);
}

如果您不使用 Android 的 LruCache,那么我想这将取决于您的实现。 (我也很好奇是什么促使您实现自己的而不是子类化所提供的!)

关于Android LRUCache 检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20668318/

有关Android LRUCache 检索的更多相关文章

  1. ruby-on-rails - 使用 HTTP.get_response 检索 Facebook 访问 token 时出现 Rails EOF 错误 - 2

    我试图在我的网站上实现使用Facebook登录功能,但在尝试从Facebook取回访问token时遇到障碍。这是我的代码:ifparams[:error_reason]=="user_denied"thenflash[:error]="TologinwithFacebook,youmustclick'Allow'toletthesiteaccessyourinformation"redirect_to:loginelsifparams[:code]thentoken_uri=URI.parse("https://graph.facebook.com/oauth/access_token

  2. ruby-on-rails - 如何检索网站图标? - 2

    我正在使用RubyonRailsv3.0.9,我想检索我设置了链接的每个网站的favicon.ico图像。也就是说,如果在我的应用程序中我设置了http://www.facebook.com/URL,我想检索Facebook的图标并在我的网页中使用\插入它。当然,我也想为所有其他网站这样做。如何以“自动”方式从网站检索favicon.ico图标(“自动”是指在网站中搜索图标并获取它的链接-我认为不是,因为并非所有网站都有一个名为“favicon.ico”的图标。我想以“自动”方式识别它)?P.S.:我想做的是像Facebook在您的Facebook页面中添加链接\URL时所做的那样:它

  3. c - 我如何在 Ruby 的 C 扩展 API 上检索 'standalone' 符号 - 2

    我想从C函数返回多个值,恕我直言,散列是一个不错的选择。我首先使用rb_intern('A_KEY')创建key,但扩展崩溃了。现在,我正在使用rb_str_new2,但我更喜欢符号。如何创建一个新符号,并在不引用类或方法的情况下使用它? 最佳答案 您需要使用ID2SYM宏将从rb_intern获得的标识符转换为ruby​​符号。尝试改变rb_intern('A_KEY')到ID2SYM(rb_intern('A_KEY')) 关于c-我如何在Ruby的C扩展API上检索'standal

  4. ruby - 如何检索当前方法名称以便将其输出到记录器文件? - 2

    我正在使用RubyonRails3.2.2,为了显示开发目的的警告消息,我在我的代码中使用了logger.warn。我想检索运行logger.warn的方法名称,以便将该方法名称输出到日志文件。classClassName在我希望看到的日志文件中:IwouldliketoretrieveanddisplaytheClassName#method_name这可能吗?如果可以,我该怎么做? 最佳答案 classClassName这应该可以完成工作。 关于ruby-如何检索当前方法名称以便将其

  5. ruby-on-rails - XMPP4r - 无法检索离线消息 - 2

    我正在尝试使用带有openfire服务器的ruby​​xmpp4r库获取openfire多用户群聊天历史记录。我可以构建请求,但没有收到服务器回复。下面是发现请求iqr=Iq.new(:get,"example.com")iqr.add_namespace("http://jabber.org/protocol/disco#info")client.send(iqr)这是请求的框架但我没有收到服务器回复。我关注了XEP-0160和XEP-0013。我在这里错过了什么?openfire是否提供房间聊天记录?有相应的API吗?非常感谢任何帮助。而且我不太了解openfire,因此非常感谢有

  6. ruby - 是否有特定的函数来检索然后删除随机数组元素? - 2

    我知道我可以通过几个步骤完成此操作,但想知道是否有可以实现此目的的函数。我想排列#sample,然后删除检索到的元素。 最佳答案 这个怎么样:array.delete_at(rand(array.length)) 关于ruby-是否有特定的函数来检索然后删除随机数组元素?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/10988525/

  7. ruby-on-rails - 使用 CarrierWave 检索图像高度 - 2

    我需要能够放置处理过的图像的尺寸。我的ImageUploader类中有:version:postdoprocess:resize_to_fit=>[200,nil]end有没有一种方法可以获得与此类似的图像尺寸?height=@picture.image_height(:post) 最佳答案 您可以调整并使用此处描述的方法:http://code.dblock.org/carrierwave-saving-best-image-geometry它添加了一个进程,然后调用Magick的方法来获取图像几何。代码:version:post

  8. ruby-on-rails - 如何在通过 Rails Controller 检索的浏览器中呈现 PDF - 2

    我有一个使用Recurly的Rails应用程序.我正在尝试下载PDF并在浏览器中呈现它。我目前有一个链接:link_to'Download',get_invoice_path(:number=>invoice.invoice_number)关联的Controller具有如下所示的get_invoice方法:defget_invoicebegin@pdf=Recurly::Invoice.find(params[:number],:format=>'pdf')rescueRecurly::Resource::NotFound=>eflash[:error]='Invoicenotfoun

  9. Ruby:如何检索字符串的一部分? - 2

    我想要一种方法来仅显示字符串/文本值中一定数量的字符。我希望它的工作方式是如果my_string.length>40那么只从my_string中获取前40个字符? 最佳答案 简单地子串你的字符串:mystring[0...40] 关于Ruby:如何检索字符串的一部分?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6136311/

  10. ruby - 将所有客户从 Stripe API 检索到一个列表中的最佳做法是什么 - 2

    当调用Stripe::Customer.all(:limit=>100)时,每次调用有100个限制。我们的客户比这多得多,我想一下子把他们全部搞定。我是否遗漏了什么,或者这是否只能通过编写一个简单的循环来检查has_more属性然后进行新调用直到has_more=false才能实现? 最佳答案 你是对的,你必须写一个带有游标的简单循环perthestripedocs:starting_afteroptionalAcursorforuseinpagination.starting_afterisanobjectIDthatdefine

随机推荐