澳门新葡亰平台官网-澳门新葡亰平台游戏app 企业概况 DataBase)是微信官方的移动端数据库组件,如客户在 2017 年 8 月 31 日之前充值足够预存款

DataBase)是微信官方的移动端数据库组件,如客户在 2017 年 8 月 31 日之前充值足够预存款

摘要WCDB(WeChat
DataBase)是微信官方的移动端数据库组件,致力于提供一个高效、易用、完整的移动端存储方案。目前正在筹备开源中。WCDB简介WCDB(WeChatDataBase)是微信官方的移动端数据库组件,致力于提供一个高效、易用、完整的移动端存储方案。它包含三个模块:WCDB-iOS/MacWCDB-Android数据库损坏修复工具WCDBRepair目前正在筹备开源中。WCDB的开发背景对于iOS开发者来说,数据库的技术选型一直是个令人头痛的问题。由于Apple提供的CoreData框架差强人意,使得开发者们纷纷将目光投向开源社区,寻找更好的存储方案。
对于微信也是如此。数据库是微信内最基础的组件之一,消息收发、联系人、朋友圈等等业务都离不开数据库的支持。为了满足需求,我们也对现有方案做了对比研究。目前移动端数据库方案按其实现可分为两类:关系型数据库,代表有CoreData、FMDB等。CoreData
它是苹果内建框架,和Xcode深度结合,可以很方便进行ORM;但其上手学习成本较高,不容易掌握。稳定性也堪忧,很容易crash;多线程的支持也比较鸡肋。FMDB
它基于SQLite封装,对于有SQLite和ObjC基础的开发者来说,简单易懂,可以直接上手;而缺点也正是在此,FMDB只是将SQLite的C接口封装成了ObjC接口,没有做太多别的优化,即所谓的胶水代码(Glue

摘要声网SDK
1.10版于2017年05月10日发布,增加了若干新功能和一些关键性优化。声网
Agora.io 是为 App
开发者提供全球范围实时音视频通信服务的云服务商。简介以下是来自声网官方网站的介绍:声网
Agora.io 是首家为 App
开发者提供全球范围实时音视频通信服务的服务商,在全球部署了近 100
个数据中心,搭建 SD-RTN™(Software Defined Real Time
Network)这个专为「实时」所设计的虚拟通信网,来极大优化全球范围内的实时传输。声网Agora.io
为开发者提供有质量保证 QoE 的实时云服务。声网 Agora.io 于 2014
年成立,隶属于上海兆言网络科技有限公司,总部位于硅谷,研发中心位于上海。团队
90% 均为全球技术工程师,包括苹果Apple 视频算法架构师、Vidyo
产品负责人、Polycom 工程总监等,平均行业经验 10
年以上,团队有年服务数千亿分钟音视频通话经验和千万级并发的互联网直播经验。Agora
Native SDK 1.10版全平台更新内容全平台:
提升了复杂网络和设备环境下的图像质量全平台: 修复了部分崩溃全平台(Web
除外): 新增了启用和禁用 SDK 音频与其他 App 音频共存的功能。
如有需要,请联系sales@agora.io。Android/iOS:
完整版软件包内新增了简单版代码示例(内含教程),以 Android 为例:Android
更新内容新增了直播场景里设置外置视频源的方法,同时它支持将yuv/rgba/texture图片推送到
Agora SDK 进行编码。它将原来libvideoprp里支持的外部视频源功能和 texture
编码接口功能合并了。建议新开发的 App
使用该方法,用户体验更好。下表列出了相关
API:API描述isTextureEncodeSupported查询该设备是否支持 texture
编码setExternalVideoSource设置是否使用外置视频源pushExternalVideoFrame设置是否向
Agora SDK 主动推送视频帧进行编码新增了以下 API
管理音效:API描述getEffectsVolume该方法获取音效音量setEffectsVolume该方法设置音效音量playEffect该方法播放音效stopEffect该方法停止播放指定音效stopAllEffects该方法停止播放所有音效preloadEffect该方法预加载指定的音效文件(压缩的语音文件)至内存unloadEffect该方法从内存里释放指定的预加载音效pauseEffect该方法暂停播放指定音效pauseAllEffects该方法暂停播放所有音效resumeEffect该方法恢复播放指定音效resumeAllEffects该方法恢复所有音效setRemoteVoicePosition该方法设置远端用户的语音位置iOS
更新内容在将 Agora SDK 集成到 App 上时,新增了使用 CocoaPods
自动添加所需库的功能。详见 iOS
的集成指南。新增了设置外置视频源的方法,并支持将yuv/rgba/texture图片推送到
Agora SDK 进行编码。它将原来libvideoprp里支持的外部视频源功能和 texture
编码接口功能合并了。建议新开发的 App
使用该方法,用户体验更好。下表列出了相关
API:API描述isTextureEncodeSupported查询该设备是否支持 texture
编码setExternalVideoSource设置是否使用外置视频源pushExternalVideoFrame设置是否向
Agora SDK 主动推送视频帧进行编码新增了以下 API
管理音效:API描述getEffectsVolume该方法获取音效音量setEffectsVolume该方法设置音效音量playEffect该方法播放音效stopEffect该方法停止播放指定音效stopAllEffects该方法停止播放所有音效preloadEffect该方法预加载指定的音效文件(压缩的语音文件)至内存unloadEffect该方法从内存里释放指定的预加载音效pauseEffect该方法暂停播放指定音效pauseAllEffects该方法暂停播放所有音效resumeEffect该方法恢复播放指定音效resumeAllEffects该方法恢复所有音效setRemoteVoicePosition该方法设置远端用户的语音位置Mac
OS 更新内容在将 Agora SDK 集成到 App 上时,新增了使用 CocoaPods
自动添加所需库的功能。详见 Mac 的集成指南。Windows 更新新功能:新增了抓取
Windows 声卡的录制和播放音频,包括对方用户的音频和其他 App
的音频。如有需要,请联系sales@agora.io。新增
APIonAudioDeviceStateChanged支持设备热插拔功能修复问题:修复了部分机器上出现的单通问题声网链接下载地址:

摘要为了让您有更好的功能体验,从 2017 年 9 月 1
日起,融云即时通讯云将对公有云 5
大高级功能进行全面开放,并实行新计费策略。概述为了让您有更好的功能体验,从
2017 年 9 月 1 日起,融云将对公有云 5
大高级功能进行全面开放,并实行新计费策略。9 月 1
日之前,旧计费模式是以日活为阶梯,高级功能(即原增值服务)分项收费;9 月
1 日之后,新计费仅以日活为阶梯,您可以全方位体验融云 5
大高级功能。新规则活动期间如不参与活动,则从 2017 年 9 月 1
日起按新计费缴费。未购买或购买过 1
项高级功能(无合同)的客户,活动期间预付 1
项高级功能的全年费用,即可在未来一年享受 5 项高级功能:某客户,日活在 1
万 – 10 万之间(不考虑未来一年日活升档情况),只需预付 1
项高级功能的全年的费用(老价格:2000 元/月,年费为 24000
元/年),便可在未来一年内使用 5 项高级功能,相当于新计费价格(48000
元/年)的 5 折。购买 2 项及以上高级功能的客户,2017 年 9 月 1
日之前按旧价格执行,之后只需支付 2 项高级功能的费用,即可享受 5
项高级功能:某客户,日活在 1 万 – 10
万之间(不考虑未来一年日活升档情况),开通过 2 项及以上高级功能,则 9 月
1 日之前按照老价格( 2 项 4000 元/月,3 项 6000 元/月, 4 项 8000
元/月,5 项 10000 元/月)执行,从 9 月 1 日只需支付新价格(4000
元/月),便可使用 5 项高级功能。购买过 1
项高级功能且签署过纸质版服务协议 +
服务订单的客户,如预充值足额的预存款,最长可保价到 2018 年 8 月 31
日;如不预充值,则保价到合同截止时间:某客户,日活在 1 万 – 10
万之间(不考虑未来一年日活升档情况),协议内明确购买 1
项高级功能,价格为 2000 元/月,合同到期时间为 2017 年 12 月 15
日。如客户在 2017 年 8 月 31 日之前充值足够预存款,最长可保价到 2018 年
8 月 31
日。如预存款金额不足,则以预存款余额可消耗时间和合同到期时间(2017 年 12
月 15 日)的后者为准,从次日开始按照新价格(4000
元/月)收费。重要注意事项:预存款金额需足够您在 2017 年 9 月 1 日 – 2018
年 8 月 31 日期间内消耗使用(充值时需要考虑 2017 年 8
月的消耗金额),如因以下原因导致预存款余额提前消耗完,则提前终止低价优惠,即刻按照新价标准执行:如您的日活在未来的一年内升档,按实际升档后的费用扣除;至预存款余额消耗完为止,即刻按新价格执行;如预存款余额被用于融云其它业务的消费,导致预存款余额提前消耗完,即刻按新价格执行。(如需将预存款余额锁定在高级功能使用费上,锁定后不能进行其它业务消费,请联系:010-57973040);一个开发者账户下有多个
App,其中每个日活大于 1 千的 App
都需计费;如您在活动期间内关闭或减少原先购买的公有云高级功能个数,则不能享受活动优惠,即在
2017 年 9月 1 日 0 点起需按新价格标准付费;如您日活在 1
千以下,您可以使用融云免费版本(仅限自行使用,不可商用,一经发现即刻停止服务);如您日活大于
1 千,且不参加活动,需在 2017 年 9 月 30
日之前付费,否则您的部分服务范围将受到限制。计费策略详情地址

Code)。使用过程需要用大量的代码拼接SQL、拼装Object,并不方便。key-value数据库,代表有Realm、LevelDB、RocksDB等。Realm因其在各平台封装、优化的优势,比较受移动开发者的欢迎。对于iOS开发者,key-value的实现直接易懂,可以像使用NSDictionary一样使用Realm。并且ORM彻底,省去了拼装Object的过程。但其对代码侵入性很强,Realm要求类继承RLMObject的基类。这对于单继承的ObjC,意味着不能再继承其他自定义的子类。同时,key-value数据库对较为复杂的查询场景也比较无力。可见,各个方案都有其独特的优势及劣势,没有最好的,只有最适合的。而对于微信来说,我们所期望的数据库应满足:高效;增删改查的高效是数据库最基本的要求。除此之外,我们还希望能够支持多个线程高并发地操作数据库,以应对微信频繁收发消息的场景。易用;这是微信开源的原则,也是WCDB的原则。SQLite本不是一个易用的组件:为了完成一个查询,往往我们需要写很多拼接字符串、组装Object的胶水代码。这些代码冗长繁杂,而且容易出错,我们希望组件能统一完成这些任务。完整;数据库操作是一个复杂的场景,我们希望数据库组件能完整覆盖各种场景。包括数据库损坏、监控统计、复杂的查询、反注入等。显然,上述各个方案都不能完全满足微信的需求。于是,我们造了这个“轮子”

WCDB-iOS/Mac。WCDB通过ORM和WINQ,体现了其易用性上的优势,使得数据库操作不再繁杂。同时,通过链式调用,开发者也能够方便地获取数据库操作的耗时等性能信息。而高级用法则扩展了WCDB的功能和用法。详情请见:《微信移动端数据库组件WCDB系列(一)-iOS基础篇》

标签:, , , , , , , , , ,

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图