热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

是否建议使用共享首选项来缓存位图图像?为什么或者为什么不?

如何解决《是否建议使用共享首选项来缓存位图图像?为什么或者为什么不?》经验,为你挑选了1个好方法。

我想缓存一些我在Android应用程序中下载的图像.缓存的工作方式是 - 图像映射到图像名称.因此,我可以使用缓存的图像,直到图像名称更改.
SharedPreference看起来似乎是最好的选择,因为它提供了一个内置选项来以键值对的形式存储.关键是图像名称和值是图像的base64格式.但我读到这是一个不好的做法.为什么?如果我将它存储在外部文件中,我将不得不实现键值对的机制(它在共享首选项中内置).

什么应该是正确和快速的方法,为什么?



1> Gabe Sechan..:

这是一个可怕的想法.Base 64是存储二进制数据的低效方式.你有一个文件系统 - 使用它.此外,SharedPreferences并不意味着存储那么多数据,当您在首选项中读取或写入任何其他数据时,它会导致令人难以置信的减速.

合理的是将位图存储在文件中,并将文件的名称存储在共享首选项中.这为您提供了键值查找,而没有膨胀的大小或解析将其存储在共享首选项中的低效率.

Base64真是一个非常丑陋的黑客.它是在您放入丑陋的黑客并尝试在基于文本的界面中存储二进制数据时使用的.如果您需要使用它,这意味着您正在尝试将技术用于从未打算做的事情,并且应该停止.


推荐阅读
  • 大家可能注意到了,网页上有些图片的src或css背景图片的url后面跟了一大串字符,比如:background-image:url(dat ... [详细]
  • apk简单介绍APK的组成apk安装流程app的启动过程apk打包流程AIDLAIDL介绍为什么要设计这门语言它有哪些语法?默认支持的数据类型包括什么是apk打包流程 ... [详细]
  • JavaScript语言自身只有字符串数据类型,没有二进制数据类型。但在处理像TCP流或文件流时,必须使用到二进制数据。因此在Node.js中&#x ... [详细]
  • Nginx Buffer 机制引发的下载故障
    Nginx ... [详细]
  • springboot整合redis做缓存操作
    SpringCache简介Spring可以根据@Cacheable、@CachePut、@CacheEvict、@EnableCaching等注解就可以实现对数据的缓存功能。添加依 ... [详细]
  • python实现内容写在图片上的方法
    这篇文章主要介绍python实现内容写在图片上的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体代码内容如下:#-*-co ... [详细]
  • 让ASP.NET OutputCache使用http.sys kernelmode cache
    在默认情况下,http.syskernemodecache只缓存静态文件。那我们如何让ASP.NETOutputCache直接使用http.syskernemodec ... [详细]
  • Android View转Bitmap引发的思考
    前言笔者在最近在做截屏分享的功能,采用getDrawingCache()发现了两个问题,特此记录一下。View生成Bitmap的两种方式。 ... [详细]
  • 本篇文章为大家展示了如何用Spring源码解析循环依赖,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收 ... [详细]
  • 【MyBatis系列7】原来SqlSession只是个甩手掌柜,真正干活的却是Executor等四大对象
    Executor原理分析前言MyBatis架构分层ExecutorBaseExecutorSimpleExecutorReuseExecutorBatchExecutor三种常用批 ... [详细]
  • RHEL5.7下的DNS服务器配置
    RHEL5下的DNS,其实说简单也不简单,说复杂也不复杂,只是相对RHEL4的DNS文件位置差异较大,让人一时摸不着头脑。不 ... [详细]
  • yii框架目录结构详细分析说明
    php教程|php手册yii,目录结构php教程-php手册yii框架目录结构详细分析说明猫狗大战源码,华为云电脑ubuntu,梦见放走很多爬虫,parttmpphp,seo页面描 ... [详细]
  • Chrome浏览器非常强大,使用Chrome浏览器对页面性能进行检测,根据测试的结果进行优化。当然这个结果只是参考,在实际的项目中肯定有特殊情况存在,并不能为了满足某项测试结果而忽略特定情况的存在。1 ... [详细]
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
  • 【go密码学】对称加密算法
    对称加密对称加密算法是相对于非对称加密算法而言,两者的区别在于,对称加密和加密和解密时使用相同的秘钥,而非对称加密在加密和解密时使用不同的秘钥(公钥和私钥)。常见的对称加密算法:D ... [详细]
author-avatar
墨尔本晴上残留的余温丶_856
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有