随着 Apple 发布了一系列的新品,叠加教育优惠和24期免息分期,曾经被认为要割肾才能买得起的苹果全家桶如今确实已经成了很多职场人和学生党的标配,毕竟 macOS 上大量优秀的软件是真的可以提升我们的生产力。去年买 MacBook Air 写了一篇「 一年一次机会,教你最便宜的在官网买苹果全家桶 」,结合信用卡的24期无息分期和各大电商的618活动折扣,买到苹果产品真的并没有那么贵。如
MMKV 是基于 mmap 内存映射的移动端通用 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 年中至今,在 iOS 微信上使用已有近 3 年,其性能和稳定性经过了时间的验证。近期已移植到 Android 平台。在腾讯内部开源半年之后,得到公司内部团队的广泛应用和一致好评。现在一并对外开源:https://github.com/tenc
转载 2023-11-11 20:10:42
91阅读
一、SharedPreferences        不同于文件的存储方式,如果要保存的键值集合相对较小,则应使用SharedReferences API。SharedReferences对象指向一个包含键值对的文件,并提供简单的读写方法。      &nbs
1、将activity中的“<category android:name="android.intent.category.LAUNCHER" />”去掉便可防止在安装完APK后生成桌面快捷方式。2、继承ActivityGroup后,可以使用getLocalActivityManager() //获取LocalActivityManager.startActivity(String i
转载 2024-10-17 09:49:29
34阅读
目录简单说明详细解释存储分类01 块存储(提供虚拟磁盘)02 文件存储03 对象存储04 三种存储的区别和对比分布式块存储、文件存储、对象存储的区别理解Ceph的三种存储接口:块设备、文件系统、对象存储一. Ceph的块设备存储接口二. Ceph的文件系统存储接口三. Ceph的对象存储接口四. 总结五、参考简单说明文件存储:是最易于理解的存储类型,有传统的目录结构,抽象文件语义 。块存储:对外提
这一次,让中国和世界同步 现在是6月12日凌晨4:38,我用了整整一晚上的时间来进行最后的校对,终于可以在12日拿出一个可以发布的版本。 9天时间,1317个 Star,310个 Fork,超过30人参与翻译和校对工作,项目最高排名GitHub总榜第4。 设想过很多遍校对完成时的场景,仰天大笑还是泪流满面?真正到了这一刻才发现,疲倦已经不允许我有任何情绪。 说实话,刚开始发起项目的时候完全没想到
目前市面上较常见的存储卡有SD、MMC、CF等,在这些卡的种类下又分了许多,下面来总结一下。可参考wiki:https://en.wikipedia.org/wiki/Memory_card1、MultiMediaCard (MMC)1997年,西门子和SanDisk推出了多媒体卡,其外形比CF卡小,从而可实现更小巧的便携式设备。在基本应用中,MMC可通过标准三线SPI接口外加一条片选线
转载 2024-10-11 04:28:23
35阅读
内容来自官网MMKV——基于 mmap 的高性能通用 key-value 组件MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 年中至今,在 iOS 微信上使用已有近 3 年,其性能和稳定性经过了时间的验证。近期也已移植到 Android 平台,一并开源。MMKV 源起在微信客户端的日常运营中,时不时
iOS MMKV保存到本地是一种高效且可靠的数据存储解决方案。本篇博文将详细阐述如何在iOS环境中实施MMKV的数据备份策略、恢复流程、灾难场景应对、工具链集成、验证方法及预防措施。通过循序渐进的步骤,我将分享我的经验和实施过程。 ### 备份策略 为确保数据的安全和可恢复性,我采用了以下备份策略: - **思维导图**: 构建了一个思维导图来明确各个数据备份流程和任务分配。 ```merm
原创 6月前
181阅读
埋点方案1. 代码埋点由开发人员在触发事件的具体方法里,添加多行代码把需要上传的参数上报至服务端。2. 可视化埋点根据标识来识别每一个事件, 针对指定的事件进行取参埋点。而事件的标识与参数信息都写在配置表中,通过动态下发配置表来实现埋点统计。3. 无埋点无埋点并不是不需要埋点,更准确的说应该是“全埋”, 前端的任意一个事件都被绑定一个标识,所有的事件都别记录下来。 通过定期上传记录文件,配合文件解
转载 2024-09-02 12:07:38
93阅读
@qxr存储空间(Bucket)存储空间是用于存储对象Object的容器,所有的对象都必须隶属于某个存储空间。您可以设置和修改存储空间属性来控制地域、访问权限、生命周期等,这些属性设置直接作用于该存储空间内所有对象,因此您可以通过灵活创建不同的存储空间来完成不同的管理功能。 a、同一个存储空间的内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间。 b、每个用户可以拥有多
一、概述KVO<NSKeyValueObserving>,是一个非正式协议,提供了一个途径,使对象(观察者)能够观察其他对象(被观察者)的属性,当被观察者的属性发生变化时,观察者就会被告知该变化。指定一个被观察对象(例如 A 类),当对象某个属性(例如 A 中的字符串 name)发生更改时,对象会获得通知,并作出相应处理;【且不需要给被观察的对象添加任何额外代码,就能使用 KVO 机制
 关于IOS的多任务以及内存管理 看了很多FY为自己的可用内存是350MB还是380MB纠结。为了多优化出一点可用内存费脑筋。 IOS的任务管理和内存管理,跟windows是有很大差别的。很多FY习惯于用 windows的思维去看待IOS。WIndows大家都知道,窗口开的越多,系统越慢,为什么呢?因为所有窗口都在运行,并且都占内存。可用内存不足还会迫使系统使用硬盘充当虚拟内存,硬盘频繁
autovacuum 是 postgresql 里非常重要的一个服务端进程,能够自动地执行,在一定条件下自动地对 dead tuples 进行清理并对表进行分析autovacuum参数控制 autovacuum 进程是否打开,默认为 "on" 根据postgresql.conf相关配置,理解autovacuum会在两种情况下会被触发:1.表上(update,delte 记录) >=
转载 2024-09-14 11:12:18
42阅读
接上一篇:在mmkv的使用中,肯定是有多线程,多进程的同步问题,有同步问题就肯定会用到锁,所以先从mmkv中锁的使用说起,mmkv处理线程的同步使用了mutex互斥锁, 比如在从集合中获取mmkv的c++层的对象时,就加了锁,因为可能会有多个线程同时操作的情况;处理进程间的同步时使用了flock文件锁,比如在处理写指针的同步,内存重整时.以下锁的使用都是在native层.1,先看下互斥锁是怎么用的
# 实现鸿蒙MMKV的步骤 ## 1. 概述 在开始之前,我们先来了解一下鸿蒙MMKV是什么。鸿蒙MMKV(也称为Mars-MMKV)是一种高性能、低内存占用的键值存储框架,适用于Android和iOS平台。它可以用于替代SharedPreferences和SQLite,提供更高效的数据存储和访问。 在本文中,我们将分为以下几个步骤来教会你如何实现鸿蒙MMKV: 1. 安装鸿蒙开发环境 2
原创 2024-01-09 22:14:34
355阅读
# 实现 "Android MMKV" 的步骤 ## 概述 在这篇文章中,我将教会你如何实现 Android MMKVMMKV 是一个高性能的 key-value 存储框架,专为移动应用设计。它的目标是提供比 SharedPreferences 更高效的存储方案,同时保持简单易用的接口。我将分步骤指导你如何集成和使用 MMKV。 ## 流程图 ```mermaid flowchart TD
原创 2023-11-11 08:13:28
101阅读
MMKV 鸿蒙 ## 引言 随着移动应用的不断发展,存储数据的需求也越来越大。在移动应用开发中,我们通常需要将一些临时数据或用户配置等信息进行持久化存储,以便在应用退出或重新启动后能够继续使用这些数据。而对于鸿蒙应用开发者来说,MMKV 是一个非常方便的存储解决方案。本文将介绍 MMKV 在鸿蒙应用中的使用方法,并提供相关的代码示例。 ## 什么是MMKVMMKV 是一个高效的 key-v
原创 2024-01-10 00:52:04
286阅读
MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf (Protocol [ˈprəʊtrs!
原创 2022-11-12 06:55:53
211阅读
如何实现鸿蒙 mmkv 作为一名经验丰富的开发者,我可以帮助你实现鸿蒙 mmkv。下面是我为你准备的步骤流程表格: | 步骤 | 描述 | | --- | --- | | 步骤一 | 添加 mmkv 在 build.gradle 文件中的依赖 | | 步骤二 | 创建一个 MMKV 实例 | | 步骤三 | 存储数据 | | 步骤四 | 读取数据 | 接下来,我将详细解释每一步需要做什么,并
原创 2024-01-10 02:11:05
89阅读
  • 1
  • 2
  • 3
  • 4
  • 5