随着 Jetpack Compose 的快速发展,越来越多的 Android 团队正在将其纳入正式项目开发。本篇文章从开发效率、性能实测、状态管理、动画控制、架构机制到最佳实践,带你全面理解 Compose 的优势与挑战,掌握其底层原理与工程落地能力。
笔者前公司在判断某个插件/三方包是否调用、调用次数、版本等情况时依然是在所有项目中“全局搜索”。这不仅会导致效率低下,还会带来麻烦。与此相似的情况是:你是否担心cookie这样容易被滥用的存储空间的“污染”?你是否在意依赖调用方代码中对有问题的API的调用?我们可以通过在项目中加入loader/plugin等方式去统计这些情况。并在公司内部形成一个“可视化平台”!
在文章《矢量图Vector安卓详解》中,我们了解到Android只支持Vector矢量图,且必须在项目中预置Vector文件,不支持直接从外部加载Vector文件,也不支持直接加载SVG文件。但在实际项目中客户端可能需要使用服务端下发的矢量图,如换肤icon,节日主题icon,活动icon等。服务端下发矢量图需要支持多端展示,不会选择下发Vector文件,毕竟只有Android支持Vector,且Vector不支持文本,文本路径,样式和遮罩等,只能绘制path图形。由于H5和iOS对SVG文件的原生支持较好,服务端选择统一下发SVG文件会更合适。为了支持服务端下发SVG矢量图和较为复杂的矢量图,Android项目就不能只支持系统的Vector矢量图,还得支持SVG矢量图。下面文章会分别介绍Android直接显示SVG文件的常见方案。
在视频审核中,对于特定的违禁视频内容需要进行严格管控和封禁。例如:对于领导人在一些特定时期事件的丑化;视频中出现醒目的广告引导,这些广告最终可能指向境外一些赌博,淫秽网站;再有对于一些像是巴以冲突等时政事件的恶意抹黑。这些都需要审核系统在视频进审时可以快速识别并封禁这些内容。