草庐IT

飞书 Android 升级 JDK 11 引发的 CI 构建性能问题

作者|秦兵兵&宋志阳一、摘要本文从飞书Android升级JDK11意外引发的CI构建性能劣化谈起,结合高版本JDK在Docker容器和GC方面的新特性,深挖JVM和Gradle的源码实现,抽丝剥茧地介绍了分析过程和修复方法,供其他升级JDK的团队参考。二、背景最近飞书适配Android12时把targetSdkVersion和compileSdkVersion改成了31,改完后遇到了如下的构建问题。在StackOverflow上有不少人遇到同样的问题,简单无侵入的解决方案是把构建用的JDK版本从8升到11。飞书目前用的AGP是4.1.0,考虑到将来升级AGP7.0会强制要求JDK11,而且新版

飞书 Android 升级 JDK 11 引发的 CI 构建性能问题

作者|秦兵兵&宋志阳一、摘要本文从飞书Android升级JDK11意外引发的CI构建性能劣化谈起,结合高版本JDK在Docker容器和GC方面的新特性,深挖JVM和Gradle的源码实现,抽丝剥茧地介绍了分析过程和修复方法,供其他升级JDK的团队参考。二、背景最近飞书适配Android12时把targetSdkVersion和compileSdkVersion改成了31,改完后遇到了如下的构建问题。在StackOverflow上有不少人遇到同样的问题,简单无侵入的解决方案是把构建用的JDK版本从8升到11。飞书目前用的AGP是4.1.0,考虑到将来升级AGP7.0会强制要求JDK11,而且新版

Notification Manager 2.0.0 发布:新增飞书通知、通知路由、通知静默

NotificationManager是KubeSphere可观测团队开源的一款Kubernetes平台上的多租户通知管理系统,其从Kubernetes接收告警、事件、审计,根据用户设置的模板生成通知消息并推送给用户。在过去的几个月里,社区一直在努力工作,为NotificationManager2.0.0版本的发布做准备。今天,我们非常高兴地宣布NotificationManager2.0.0已经正式发布了!感谢社区各位小伙伴对新功能、增强功能和错误修复的各种帮助!NotificationManager2.0.0为您带来了许多值得关注的功能,包括新增飞书通知、通知路由、通知静默、自定义模板增强

Notification Manager 2.0.0 发布:新增飞书通知、通知路由、通知静默

NotificationManager是KubeSphere可观测团队开源的一款Kubernetes平台上的多租户通知管理系统,其从Kubernetes接收告警、事件、审计,根据用户设置的模板生成通知消息并推送给用户。在过去的几个月里,社区一直在努力工作,为NotificationManager2.0.0版本的发布做准备。今天,我们非常高兴地宣布NotificationManager2.0.0已经正式发布了!感谢社区各位小伙伴对新功能、增强功能和错误修复的各种帮助!NotificationManager2.0.0为您带来了许多值得关注的功能,包括新增飞书通知、通知路由、通知静默、自定义模板增强

【经验】WakeUp、Outlook、Google日历导入飞书日历

以飞书团队账号登录时,设置的日历就能被团队其他成员看到(可选择私密、仅忙碌【默认】、完全公开三种模式),以便相互查看空闲时间。Wakeup日历导出到Outlook日历Wakeup支持从各大学校便利地导入课表,因此会有从Wakeup导入飞书日历的需求。飞书目前(2022/10/03)不支持直接以ics文件形式导入,因此以Outlook作为中转。Outlook日历导入到飞书日历点击添加日历,然后添加Exchange日历并输入账号密码即可。如遇问题,请看官方文档:同步Outlook日历与飞书日历。Google日历导入飞书日历与Outlook相同的,点击添加日历。选择谷歌日历并输入账号密码即可。如遇问

【经验】WakeUp、Outlook、Google日历导入飞书日历

以飞书团队账号登录时,设置的日历就能被团队其他成员看到(可选择私密、仅忙碌【默认】、完全公开三种模式),以便相互查看空闲时间。Wakeup日历导出到Outlook日历Wakeup支持从各大学校便利地导入课表,因此会有从Wakeup导入飞书日历的需求。飞书目前(2022/10/03)不支持直接以ics文件形式导入,因此以Outlook作为中转。Outlook日历导入到飞书日历点击添加日历,然后添加Exchange日历并输入账号密码即可。如遇问题,请看官方文档:同步Outlook日历与飞书日历。Google日历导入飞书日历与Outlook相同的,点击添加日历。选择谷歌日历并输入账号密码即可。如遇问

在线协作文档综合评测 :Notion、FlowUs、Wolai、飞书、语雀、微软 Office、谷歌文档、金山文档、腾讯文档、石墨文档、Dropbox Paper、坚果云文档、百度网盘在线文档

在线协作文档综合评测:Notion、FlowUs、Wolai、飞书、语雀、微软Office、谷歌文档、金山文档、腾讯文档、石墨文档、DropboxPaper、坚果云文档、百度网盘在线文档 如今,在线协作文档已经成为效率办公的必备产品。然而,面临各种各样的在线文档产品,应该如何选择呢? 事实上,在线协作办公产品,虽然产品众多。但是发展路径主要有三种: 以谷歌文档为代表的轻量级云端Office.国内对标产品包括金山文档、腾讯文档、石墨文档。以云盘工具DropboxPaper为代表的轻量级云端Office.国内对标产品包括坚果云文档、百度网盘在线文档。以Notion为代表的主张AllinOne的新一

在线协作文档综合评测 :Notion、FlowUs、Wolai、飞书、语雀、微软 Office、谷歌文档、金山文档、腾讯文档、石墨文档、Dropbox Paper、坚果云文档、百度网盘在线文档

在线协作文档综合评测:Notion、FlowUs、Wolai、飞书、语雀、微软Office、谷歌文档、金山文档、腾讯文档、石墨文档、DropboxPaper、坚果云文档、百度网盘在线文档 如今,在线协作文档已经成为效率办公的必备产品。然而,面临各种各样的在线文档产品,应该如何选择呢? 事实上,在线协作办公产品,虽然产品众多。但是发展路径主要有三种: 以谷歌文档为代表的轻量级云端Office.国内对标产品包括金山文档、腾讯文档、石墨文档。以云盘工具DropboxPaper为代表的轻量级云端Office.国内对标产品包括坚果云文档、百度网盘在线文档。以Notion为代表的主张AllinOne的新一

不改一行业务代码,飞书 iOS 低端机启动优化实践

作者|徐霜晴引言在启动优化时,我们常常通过增加并发的方式来减轻主线程的耗时。而在iOS中,GCD是并发编程最常用的框架。增加并发是否是启动优化的良策?开发者适合选用哪个优先级的GCD队列?本文将结合飞书启动优化,给出选取GCD队列的最佳实践,也提供针对低端机的启动优化思路。应用此思路,我们在未修改飞书业务逻辑的情况下,在飞书低端机上,取得了不错的用户体验收益:首屏展示时间优化100ms,消息列表首刷时间优化1500ms。低端机的特性通过Instruments的AppLaunch功能,我们能看到App启动时的线程状态、TimeProfiler等信息。其中,我们发现不同设备在启动时的表现有很大差异

不改一行业务代码,飞书 iOS 低端机启动优化实践

作者|徐霜晴引言在启动优化时,我们常常通过增加并发的方式来减轻主线程的耗时。而在iOS中,GCD是并发编程最常用的框架。增加并发是否是启动优化的良策?开发者适合选用哪个优先级的GCD队列?本文将结合飞书启动优化,给出选取GCD队列的最佳实践,也提供针对低端机的启动优化思路。应用此思路,我们在未修改飞书业务逻辑的情况下,在飞书低端机上,取得了不错的用户体验收益:首屏展示时间优化100ms,消息列表首刷时间优化1500ms。低端机的特性通过Instruments的AppLaunch功能,我们能看到App启动时的线程状态、TimeProfiler等信息。其中,我们发现不同设备在启动时的表现有很大差异