开发者提供全球范围实时音视频通信服务的服务商,Google正式宣布Android Studio

摘要声网SDK
1.11版于2017年06月15日发布,增加了若干新功能和一些关键性优化。声网
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
年以上,团队有年服务数千亿分钟音视频通话经验和千万级并发的互联网直播经验。更新内容新功能:全平台
(Web 除外): 新增跨直播间连麦功能。详见跨直播间连麦。全平台 (Web 除外):
新增播放音频时拖动进度条的功能。详见各平台新增的setAudioMixingPosition()API
方法。全平台 (Web 除外): 提供一套直播频道 Restful API
管理直播。详见直播频道 RESTful API。全平台 (Web 除外):
直播场景下,新增一个功能:
主播可以开启镜像(即可以看到自己的图像)。如有需要,联系sales@agora.io。全平台(Web
除外): 新增一个录制方案,支持录制通信和直播内容。详见文档:录制 SDK
发版说明。Android/iOS:
升级了美颜库。之前引用了美颜库的用户在升级时必须配合最新版美颜包一起使用,避免出现崩溃。详见Agora
Image Enhancement 发版说明 Beta。改进:Windows:
改进了由于特定防火墙引起的 SDK 初始化失败现象Windows:
增加了一个新方案极大降低了部分机器上摄像头起不来的概率全平台(Web 除外):
提升了画质和视频流畅度修复问题:Windows:
修复了偶现的视频设备名称无法枚举的问题Mac:
修复了部分摄像头热插拔相关的问题iOS:
修复了语音通话过程中,通过被电话打断后,听不到声音的问题iOS:
修复了直播里连麦开始时, UI 卡住一两秒的问题全平台(Web 除外) :
修复了部分机型上偶现的崩溃问题声网链接下载地址:

摘要在Google I/O 2017大会上,Google正式宣布Android Studio
3.0完全支持Kotlin,Kotlin也将从JetBrain移交给独立的非盈利组织来进行后续的开发。在Google
I/O 2017大会上,Google正式宣布Android Studio
3.0完全支持Kotlin,Kotlin也将从JetBrain移交给独立的非盈利组织来进行后续的开发。Google正式将Kotlin加入到Android的开发语言行列,其他为数不多的语言还包括Java和C++。关于为什么选择Kotlin,Google说“Kotlin简洁、表现力强,而且具有类型安全和空值安全(null-safe)的特点,很多Android开发者发现Kotlin可以让开发变得更快也更有趣”。另一个很重要的原因是Kotlin可以与Java进行完整的互操作,并且也是运行在JVM上。Kotlin还能调用C++和Android代码,因为它可以通过external标识符来支持JNI。Kotlin的源代码可以被编译成JVM的字节码,也可以生成JavaScript代码。在过去,开发人员需要通过Android
Studio的插件来使用Kotlin,而现在,他们可以在Android Stuido
3.0里直接使用Kotlin,包括重构、自动完成、lint、调试和其他操作。Android
Studio 3.0也是在Google I/O
2017大会上发布的,不过现在只有处于canary阶段的预览版本,可能还需要几个月的时间才能发布正式版。Kotlin与Java之间的互操作性是它被广泛采用的特性之一。Android的Java代码可以被Kotlin调用,Kotlin的代码也可以被Java调用,一个Android项目里可以包含Java文件和Kotlin文件,Java文件还可以被转成Kotlin文件。开发人员不一定要全面地学习Kotlin,他们可以继续使用Java开发,然后试试水,看看会不会喜欢上Kotlin。对于喜欢Kotlin简洁性的开发者来说,他们或许会更多地使用Kotlin。Kotlin兼容JDK
6及以上版本,它可以运行在大多数Android版本上,包括一些比较旧的版本。Android同时也支持Kotlin的coroutine,不过因为这是一个实验性质的特性,所以Google并没有针对这个特性做出任何承若,它完全取决于这门语言自身的发展。Google透露,他们正在与JetBrain展开合作,将Kotlin移交给第三方的非盈利组织进行后续的开发。虽然说Kotlin是开源的,不过交给这样的一个组织来看管,可以在一定程度上保证语言的未来不会落入某一家的公司手里。这一举动也意味着Google将会介入Kotlin的推广工作,这对于Kotlin来说是一个利好消息。查看英文原文:Kotlin
Is Now a Supported Android Language

摘要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

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基础篇》

相关文章

发表评论

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