一、概述KVO<NSKeyValueObserving>,是一个非正式协议,提供了一个途径,使对象(观察者)能够观察其他对象(被观察者)的属性,当被观察者的属性发生变化时,观察者就会被告知该变化。指定一个被观察对象(例如 A 类),当对象某个属性(例如 A 中的字符串 name)发生更改时,对象会获得通知,并作出相应处理;【且不需要给被观察的对象添加任何额外代码,就能使用 KVO 机制
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
转载
2024-06-06 06:59:47
116阅读
这一次,让中国和世界同步
现在是6月12日凌晨4:38,我用了整整一晚上的时间来进行最后的校对,终于可以在12日拿出一个可以发布的版本。
9天时间,1317个 Star,310个 Fork,超过30人参与翻译和校对工作,项目最高排名GitHub总榜第4。
设想过很多遍校对完成时的场景,仰天大笑还是泪流满面?真正到了这一刻才发现,疲倦已经不允许我有任何情绪。
说实话,刚开始发起项目的时候完全没想到
Swift 中模块是什么?当写下 Swift 中一句 import Cocoa 的时候到底做了什么? 1.介绍 Swift 中两种可 import 的模块 2.如何用 Swift 写一个可被其他 Swift 代码使用的模块 3.分析 Swift 的标准库实现方式 第一部分 Clang 模块(系统模块) Clang 模块是来自系统底层的模块,一般是 C/ObjC 的头文件。原始 API 通过它们暴露
随着 Apple 发布了一系列的新品,叠加教育优惠和24期免息分期,曾经被认为要割肾才能买得起的苹果全家桶如今确实已经成了很多职场人和学生党的标配,毕竟 macOS 上大量优秀的软件是真的可以提升我们的生产力。去年买 MacBook Air 写了一篇「 一年一次机会,教你最便宜的在官网买苹果全家桶 」,结合信用卡的24期无息分期和各大电商的618活动折扣,买到苹果产品真的并没有那么贵。如
1、将activity中的“<category android:name="android.intent.category.LAUNCHER" />”去掉便可防止在安装完APK后生成桌面快捷方式。2、继承ActivityGroup后,可以使用getLocalActivityManager() //获取LocalActivityManager.startActivity(String i
转载
2024-10-17 09:49:29
34阅读
MIPI是Mobile Industry Processor Interface(移动通信行业处理器接口)的缩写。MIPI协议的提出,旨在解决日益增长的高清图像(视频)传输的高带宽要求与传统接口的低速率之间的矛盾,同时为整个行业提供统一的标准,进而缩短产品的开发周期,增强不同厂商之间产品的兼容性。换一句话说,MIPI协议是MIPI联盟发起的为移动应用处理器制定的开放标准和一个规范。MIPI最初由I
# Android MMKV使用指南
## 简介
在本文中,我将向你介绍如何在Android应用中使用MMKV。MMKV是一个高性能的键值存储框架,特别适用于Android平台。它具有易用性、高性能和多线程安全等特点,能够有效地用于存储小数据量的键值对。
## MMKV的集成流程
下面是使用MMKV的集成流程的步骤:
| 步骤 | 描述 |
| --- | --- |
| 1 | 添加MMK
原创
2023-10-18 09:21:43
419阅读
# 鸿蒙 MMKV 使用及其代码示例
## 引言
近年来,随着移动互联网的快速发展,移动应用程序的性能要求也越来越高。为了提高应用程序的性能,我们需要使用高效的存储方案来存储和管理数据。鸿蒙操作系统(HarmonyOS)是华为公司开发的一款全场景智能终端操作系统,鸿蒙 MMKV(Multi-Model Key-Value)是其提供的一种高性能、高可靠性的键值存储组件。本文将介绍鸿蒙 MMKV
原创
2024-01-10 01:01:50
755阅读
目录简单说明详细解释存储分类01 块存储(提供虚拟磁盘)02 文件存储03 对象存储04 三种存储的区别和对比分布式块存储、文件存储、对象存储的区别理解Ceph的三种存储接口:块设备、文件系统、对象存储一. Ceph的块设备存储接口二. Ceph的文件系统存储接口三. Ceph的对象存储接口四. 总结五、参考简单说明文件存储:是最易于理解的存储类型,有传统的目录结构,抽象文件语义 。块存储:对外提
目前市面上较常见的存储卡有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阅读
分割线高度
原创
2022-06-18 23:42:48
496阅读
内容来自官网MMKV——基于 mmap 的高性能通用 key-value 组件MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 年中至今,在 iOS 微信上使用已有近 3 年,其性能和稳定性经过了时间的验证。近期也已移植到 Android 平台,一并开源。MMKV 源起在微信客户端的日常运营中,时不时
# Android Java使用MMKV
在Android开发中,我们经常需要在应用中保存一些数据,比如用户的登录状态、用户偏好设置等。而Android系统提供了SharedPreferences来让我们方便地进行数据的存储和读取。但是SharedPreferences存在一些性能上的问题,尤其是在数据量较大的情况下。
为了解决SharedPreferences的性能问题,Facebook提供
原创
2024-05-31 05:35:51
95阅读
xcode 没有格式化代码的功能,只有缩进整理和多行拆分,习惯前端代码的开发方式,不格式化代码显得有些凌乱,幸好有开源的工具可以实现这样的功能,他就是SwiftFormat。官方地址:GitHub - nicklockwood/SwiftFormat: A command-line tool and Xcode Extension for formatting Swift code安装使用教程:X
转载
2024-07-12 13:35:44
110阅读
# 在Swift中使用MMKV
## 引言
MMKV是一个高性能的键值存储库,主要由腾讯开源,用于安卓和iOS平台上。它的设计灵感来自于Android的SharedPreferences,但在性能和灵活性上进行了改进。在这篇文章中,我们将深入研究如何在Swift中使用MMKV,包括安装、基本操作以及示例代码。
## 安装MMKV
首先,你需要将MMKV添加到你的Swift项目中。你可以使用
iOS MMKV保存到本地是一种高效且可靠的数据存储解决方案。本篇博文将详细阐述如何在iOS环境中实施MMKV的数据备份策略、恢复流程、灾难场景应对、工具链集成、验证方法及预防措施。通过循序渐进的步骤,我将分享我的经验和实施过程。
### 备份策略
为确保数据的安全和可恢复性,我采用了以下备份策略:
- **思维导图**: 构建了一个思维导图来明确各个数据备份流程和任务分配。
```merm
埋点方案1. 代码埋点由开发人员在触发事件的具体方法里,添加多行代码把需要上传的参数上报至服务端。2. 可视化埋点根据标识来识别每一个事件, 针对指定的事件进行取参埋点。而事件的标识与参数信息都写在配置表中,通过动态下发配置表来实现埋点统计。3. 无埋点无埋点并不是不需要埋点,更准确的说应该是“全埋”, 前端的任意一个事件都被绑定一个标识,所有的事件都别记录下来。 通过定期上传记录文件,配合文件解
转载
2024-09-02 12:07:38
93阅读
@qxr存储空间(Bucket)存储空间是用于存储对象Object的容器,所有的对象都必须隶属于某个存储空间。您可以设置和修改存储空间属性来控制地域、访问权限、生命周期等,这些属性设置直接作用于该存储空间内所有对象,因此您可以通过灵活创建不同的存储空间来完成不同的管理功能。 a、同一个存储空间的内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间。 b、每个用户可以拥有多