# android_learning **Repository Path**: qyx4share/android_learning ## Basic Information - **Project Name**: android_learning - **Description**: 安卓学习,自用 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-05-06 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 项目介绍 这是一个Android项目, 课程基于后端云数据库设计用户系统, 基于用户关系实现即时通讯和音视频通话功能, 并以Google最新的技术规范为UI铺垫。(Android 10为基础,Google最新的AndroidX规范) 完整的社交App从设计到实现 如何构建通讯层,以及音视频聊天框架,(Bmob账号体系 + 融云音视频) 如何从内存,布局、加固混淆等多方面来提升App性能及安全。(IM当前流行的社交App框架) ## Gradle 1. 了解AndroidX 官网查看,基于原来Android版本的规范 2. Gradle优化技巧 自定义配置 配置config.gradle,来对全局的依赖进行定义 配置Gradle常量 buildConfigField("类型","name","value") 配置常量 BuildConfig 用来查看自定义的配置常量 3. 提升Grandle构建速度 --- * Gradle构建的三个性能指标: * - 全量编译:全部编译 - Open Project * - 代码增量编译:修改了Java/Kotlin下面的代码的时候编译 * - 资源增量编译:修改了res下面的资源文件的时候编译 * 发布App到应用市场:多渠道打包/全部打包 * 调试:不需要这么多,DEBUG --- 使用最新版的Gradle插件 gradle-wrapper.properties 避免激活旧的Multidex 老版本(Android5.x之前 21)超过64K就要进行分包,新版本不需要考虑 禁用 Multidex Apk 构建 (关系到上面说的Gradle构建的三个性能指标)(Setting-Build-Compiler- 命令行输入-PdevBuild) 最小化打包资源 build.gradle 禁用PNG压缩 build.gradle PNG转换成WebP 右击图片即可进行转换 推荐使用Instant Run 已经集成到IDE中 不使用动态版本标识 指定依赖版本上不要加+ Gradle内存分配调优 gradle.properties 开启构建缓存,尤其是Kotlin支持比较好 gradle.properties ## 即时通讯和音视频基础 Bmob用户模块 Bomb后端云专注于为移动应用提供一整套的后端云服务 用户模块支持的功能 BmonbObject BmobUser Bmob SDK BmobObject CRUD BmonbFile File - Upload/DownLoad BmonbUser --- 融云的即时通讯模块 安全可靠的全球互联网通讯云 应用内社交|直播互动|企业沟通协作|商业协作 融云SDK分类 IMKit IMLib CallKit CallLib --- 融云的音视频模块