阿里巴巴 Android 开发手册学习笔记

阿里Android开发手册正式版一览     新年伊始,春意盎然之际,阿里巴巴在2月28日再度为工程师们送上了一份重磅开春好礼:《阿里巴巴Android开发手册》。    该手册长达66页,是阿里巴巴集团各大 Android 开发团队的集体智慧结晶和经验总结,将淘宝、天猫、闲鱼、钉钉等 App 长期开发迭代和优化经验系统地整理成册, 以指导 Android 开发者更加高效、高质量地进行 App 开发,呈现给用户体验好、性能优、稳定性佳... 阅读详情

写个笔记,方便回顾。

Android 资源文件命名与使用

    1.drawable下命名方式采用

        模块名_业务功能描述_控件描述_控件状态限定词 例如:module_login_btn_pressed

    2.颜色命名,之前觉得项目中命名混乱,索性改为color_349132之类避免颜色值重复。看了这里思考了下,还是以模块+逻辑+颜色为好,便于某些好多控件共用一种颜色,需求变更,修改其中一些控件颜色的情况下方便修改。

    3.控件id命名逻辑+后缀缩写 list_lv

    其实命名这回事,定一个规则,项目成员遵守即可,方便开发和维护了。

Android 基本组件

1.Activity之间避免通过intent传递大对象。

2.生命周期成对处理逻辑。onSaveInstanceState()不属于生命周期方法,不保证一定被调用。

3.Activity通过隐式调用,必须通过resolveActivity检查,避免not found异常。

4.Broadcast onReceive()超过10s,可能会ANR。

5.应用内广播推荐本地广播。

6.添加fragment,推荐在onPostResume()或者onResumeFragments()中commit

7.不推荐在Activity#onDestory()中释放资源,执行时机较晚,推荐在onStop中结合标志位来处理

8.不推荐嵌套Fragment

9.隐式intent启动或绑定service,必须搭配setPackage(),消除目标服务的不确定性。

10.广播优先使用本地广播,安全性和高效率

11.当前Activity的onPause执行完才会执行下一个Activity的onCreate,不推荐在onPause做耗时操作

12.Application禁止缓存数据

UI 与布局


1.保持view结构扁平化,view的measure,layout,draw应该被控制在16ms内,否则可能会丢帧。可以使用

Hierarachy Viewer工具或者开发者模式下打开视图边界查看。

2.对话框/浮层推荐使用DialogFragment,便于管理生命周期。

3.禁止在布局时多次为子 view和父view设置相同的背景色,避免重复绘制

4.在需要时刻刷新某一区域的组件时,为避免全局layout刷新建议1.设置固定的view大小的宽高。2.调用view的layout方式修改位置,比如弹幕。3.通过canvas限制刷新区域。4.重写控件的requestLayout()和onSizeChange(),控件大小不改变时,进入requestLayout()时,不调用父控件的requestLayout。

5.不推荐AnimationDrawable,初始化时会加载所有图片到内存。

6.不建议ScrollView中包裹ListView/GridView/ExpandableListView,会把listView所有Item都加载到内存中,过度消耗资源。推荐使用NestedScrollView

进程、线程与消息通信

1.intent不要在组件中传递超过IM的大数据,会OOM或者失败。

2.多进程情况下,注意Application中加载各自进程需要的资源。

3.禁止直接new Thread,使用AsyncTask或者TheadPoolExecutor处理。

4.线程池创建时注意允许线程最大数量和线程存活时间。

文件与数据库

1.文件路径禁止硬编码,使用系统api。

2.使用外部存储时,必须检查外部存储可用性。

3.应用间共享文件推荐使用FileProvider

4.SP提交数据时,推荐使用apply,异步写入磁盘。commit是立刻写入磁盘。

5.多线程操作数据库时,需要使用事务。

6.大量数据写入数据库时,使用事务可以提高效率。

Bitmap、Drawable和动画和安全

1.png必须使用tinypng类似压缩工具处理

2.推荐使用inBitmap重复利用内存空间,避免开辟新内存。

3.使用ARGB_565减少内存占用,注意此时没有透明度。

4.META-INF禁止存放.apk、odex、so等敏感资源,该文件夹没有经过签名,容易被恶意替换。

5.秘钥禁止硬编码到代码中




阿里巴巴Android开发实战手册最新版精要 本章节介绍了MVP和MVVM架构在Android项目中的实施指南和最佳实践。首先,我们探讨了MVP架构的基本概念、优势以及在Android中的实际应用和代码组织方法。接着,我们深入分析了MVVM架构的原理、在Android开发中的应用,以及数据绑定和双向数据流处理的重要性。通过这些架构模式的应用,开发者可以显著提升应用的可维护性、可测试性和用户体验。 阅读详情

相关推荐

阿里Android开发手册最新版

阿里巴巴的Android开发手册最新版,对Android开发者来说很有益处

android开发入门,阿里Android开发手册

如果你觉得这些内容对你有帮助,可以扫码领取!!!!

2401_83703893的博客 764

阿里巴巴Android开发手册

阿里android开发手册,可以了解学习一下,

SRL-PHP查询构建器全解析:链式调用与函数式编程的完美结合

Simple Regex Language(SRL-PHP)是一款强大的正则表达式构建工具,它通过直观的链式调用和函数式编程范式,让复杂的正则表达式变得简单易懂。本文将全面介绍SRL-PHP查询构建器的核心功能、使用方法以及实际应用场景,帮助开发者快速掌握这一高效工具。 ## 为什么选择SRL-PHP? 传统正则表达式往往因语法晦涩而难以维护,尤其是复杂模式的构建和修改。SRL-PHP通过以下

gitblog_00103的博客 573

阿里巴巴Android开发手册.pdf

阿里巴巴Android开发手册.pdf

阿里巴巴Android开发手册1.0

阿里巴巴集团各大 Android 开发团队的集体智慧结晶和经验总结,将淘宝、天猫、闲鱼、钉钉等 App 长期开发迭代和优化经验系统地整理成册, 以指导 Android 开发者更加高效、高质量地进行 App 开发,呈现给用户体验好、性能优、稳定性佳、安全性高的产品。

Android进阶——阿里Android开发手册学习笔记(一)

引言 阿里巴巴不仅仅是只关注你的钱包,也在给程序的开发世界贡献着自己的力量,为你们的代码质量操碎了心,推出了众多技术文档,抱着让自己的代码更规范的心态,下载被阅读了阿里巴巴Android开发手册v1.0.1,由于不便阅读和快速定位,决定摘抄重排版到博客上,在原文档的基础上使当地增加一些所谓的解读和理解,你也可以直接去找原版的来读,直接略过这笔记。 一、Android 资源文件命名与使用 应用...

最美不过,心中有梦,身旁有你! 1049

卡门涡街可视化实战:从网格加密策略到动画后处理技巧

本文详细介绍了利用ANSYS Fluent进行卡门涡街可视化模拟的全流程,包括网格加密策略、求解器设置、涡街捕捉及动画后处理技巧。通过计算流体力学(CFD)方法,帮助工程师和研究人员高效模拟圆柱绕流现象,优化工程设计。

weixin_29309785的博客 414

java和android学习资料

1.java经典的书籍,《java编程思想》的第五版,基于java8 On Java 8 中文版 2.阿里巴巴Java开发手册 3.阿里巴巴android开发手册 4.Java 8编程官方参考教程 5.Java 8实战 6.effective-java 7.Java核心技术 8.Android 源码设计模式解析与实战 第2版 9.Android开发艺术探索 10.Java学习笔记 11.android官网 ...

jifashihan的博客 207

YOLOv8改进 - 注意力篇 - 引入CAA注意力机制

YOLOv8改进 - 注意力篇 - 引入CAA注意力机制

浪子L的博客 5223

NTFS分区变成RAW别乱修!正确数据恢复与修复方法详解

文件系统是操作系统管理存储数据的核心机制,NTFS作为Windows主流文件系统,一旦分区识别异常,常会显示为RAW格式。分区变RAW通常意味着文件系统入口信息损坏,而非数据物理消失,但若采用错误的修复方式,如直接对RAW分区执行chkdsk /f,可能因系统无法正确识别文件系统结构,导致写入操作落在错误偏移位置,二次破坏本可恢复的数据。正确的处理思路是:先停止一切写入操作,通过扇区级镜像备份保留原始现场,再分析DBR、分区表及$MFT状态,依据诊断结果选择修复或深度扫描恢复。实际排查中,常见问题如DBR记

weixin_31155097的博客 134

揭秘《阿里巴巴Android开发手册》

前言\\不久之前谷歌的Android P预览版问世,几大手机厂商也联合推出了快应用,我们看到了移动开发迎来了新的活力,移动应用已经渗透到人们生活的方方面面,那么阿里继去年推出Java手册之后,在春节期间推出的《阿里巴巴Android开发手册》的目的是什么呢?为此,InfoQ第一时间采访了阿里巴巴高级无线开发工程师、手册的主要作者之一芸墨,为大家揭开其背后创作故事,并在此与大家分享采访结果。\\An...

cpongo5 113

K8s-K8s部署Zookeeper+Kafka+ELFK+持久化数据

K8s环境下容器化部署`Zookeeper+Kafka+ELFK`日志收集系统

✅ 专注企业级 Linux/DevOps 运维的实战派 ✅ 已输出上百篇可落地方案 ✅ Shell 脚本开箱即用 ✅ K8s/YAML 环境验证 ✅ 故障排查链路完整复现 1914

《阿里巴巴Android开发手册》Executors进程池创建迷之问题探讨

《阿里巴巴Android开发手册》Executors进程池创建迷之问题探讨 《阿里巴巴Android开发手册(2018.3.5 ,version 1.0.1)》(以下简称《手册》)第五章《进程、线程与消息通信》第4小节(第33页开始),写道: 【强制】线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的...

Zhang Phil 773

ZW3D 二次开发-制作插件

1.Windows 7 SP1 或 Windows 10 或 Windows 11(推荐 Windows 11)2.Visual studio 2017-2022 (或 C/C++的任何其他集成开发环境)(推荐 Visual studio 2022)3.ZW3D 2023 或以上版本(建议使用与 ZW3D 一致的 API 的版本)4.Qt5.9.7(for Windows)博主学习使用环境的是:Windows 11 Version 24H2 + Visual studio 2022 + Qt5.9.7(fo

fhqiwmc的博客 810

数据仓库数据质量监控和处理方法最佳实践

指的是检查数据是否存在反常或者错误的情况,例如数值反常地过大或者过小,或者超过记录的波动值,对应的规则包括数值波动检查,最大值、最小值检查,跨表准确性等。指的是检查数据是否存在缺失的情况,这里的缺失可以是整个数据集的记录缺失,也可以是某个字段记录的缺失,对应的规则包括空值检查,表总行数检查。指的是检查数据是否符合规范,是否按照规定的格式存储,对应的规则包括正则表达式检查,字段长度检查,枚举集合检查,数值范围等。指的是检查哪些数据是重复数据或者数据的哪些属性是重复的,对应的规则例如主键唯一性检查。

大模型大数据攻城狮的专栏 897

《阿里巴巴Android开发手册》正式发布,献给移动开发者的新年礼物

春节余味尚未消,我们为移动开发者准备了一份迟到的新年礼物——《阿里巴巴Android开发手册》,继《阿里巴巴Java开发手册》之后,阿里巴巴开发规范家族又添一丁,「阿里巴巴Android开发规范」认证考试也同步上线。手册免费下载:http://click.aliyun.com/m/42914/ 认证考试:http://click.aliyun.com/m/42915/阿里Android开发经验结...

阿里云云栖号 1209

静态编译Qt5源码(Kylin-Desktop-V10-SP1-2203-LoongArch64+qt5.15.16)

之前的文档,记录的是通用情况,本次笔者记录下Qt5的静态编译过程,供有需要的小伙伴参考使用的操作系统是Kylin-Desktop-V10-SP1-General-Release-2203-LoongArch64,处理器是龙芯3A5000,架构是loongarch。

aggs1990的专栏 1401
上一篇: rxjava学习分享计划
下一篇: stay hungry stay foolish
lokfea
博客等级 码龄14年 1粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值