阿里Android开发手册正式版一览

《阿里巴巴Android开发手册》是阿里集团的集体智慧结晶,涵盖了Java语言规范、资源文件命名与使用、Android基本组件、UI与布局、进程线程通信、文件数据库管理等多个方面。手册强调了规范的重要性,分为强制、推荐、参考三级,指导开发者实现高效、高质量的App开发,提高用户体验、性能和稳定性。内容包括避免使用隐式Intent、避免嵌套Fragment、减少多进程通信、合理使用Bitmap和Drawable等,旨在减少内存泄漏和性能问题。
摘要由CSDN通过智能技术生成

    新年伊始,春意盎然之际,阿里巴巴在2月28日再度为工程师们送上了一份重磅开春好礼:《阿里巴巴Android开发手册》。

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


    本手册以开发者为中心视角分为 Java语言规范(遵循《阿里巴巴 Java开发手册》),Android 资源文件命名与使用,Android 基本组件,UI 与布局,进程、线程与消息通信,文件与数据库,Bitmap、 Drawable 与动画,安全,其他等九大部分,根据约束力强弱,规约依次分为强制、推荐、参考三大类:

【强制】 必须遵守,违反本约定或将会引起严重的后果;

【推荐】 尽量遵守,长期遵守有助于系统稳定性和合作效率的提升;

【参考】 充分理解,技术意识的引导,是个人学习、团队沟通、项目合作的方向。


    以下为该手册的详细内容:

一、Java语言规范

遵循《阿里巴巴 Java 开发手册》,如果有需要可以关注分享达人秀公众号回复“Java开发手册”获取最新纪念版下载链接。

二、Android资源文件命名与使用

1.【推荐】资源文件需带模块前缀。

2.【推荐】layout 文件的命名方式。

    Activity 的 layout 以 module_activity 开头

    Fragment 的 layout 以 module_fragment 开头

    Dialog 的 layout 以 module_dialog 开头

    include 的 layout 以 module_include 开头

    ListView 的行 layout 以 module_list_item 开头

    RecyclerView 的 item layout 以 module_recycle_item 开头

    GridView 的行 layout 以 module_grid_item 开头

3.【推荐】drawable 资源名称以小写单词+下划线的方式命名,根据分辨率不同存放在不同的 drawable 目录下,建议只使用一套,例如 drawable-xhdpi。采用规则如下:

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

    如:module_login_btn_pressed,module_tabs_icon_home_normal

4.【推荐】anim 资源名称以小写单词+下划线的方式命名,采用以下规则:

模块名_逻辑名称_[方向|序号]

tween 动 画 资 源 : 尽 可 能 以 通 用 的 动 画 名 称 命 名 , 如:module_fade_in ,module_fade_out , module_push_down_in (动画+方向);

frame 动画资源:尽可能以模 块+功能命名+序号。如:module_loading_grey_001

5.【推荐】color 资源使用#AARRGGBB 格式,写入 module_colors.xml 文件中,命名格式采用以下规则:

模块名_逻辑名称_颜色

    如:#33b5e5e5

6.【推荐】dimen 资源以小写单词+下划线方式命名,写入 module_dimens.xml 文件中,采用以下规则:

模块名_描述信息

    如:1dp

7.【推荐】style 资源采用小写单词+下划线方式命名,写入 module_styles.xml 文件中,采用以下规则:

父 style 名称.当前 style 名称

8.【推荐】string资源文件或者文本用到字符需要全部写入 module_strings.xml文件中,字符串以小写单词+下划线的方式命名,采用以下规则:

 模块名_逻辑名称

    如:moudule_login_tips,module_homepage_notice_desc

9.【推荐】Id 资源原则上以驼峰法命名,View 组件的资源 id 需要以 View 的缩写作为前缀。常用缩写表如下:


    其它控件的缩写推荐使用小写字母并用下划线进行分割,例如:

ProgressBar 对应的缩写为 progress_bar

DatePicker 对应的缩写为 date_picker

10.【推荐】大分辨率图片(单维度超过 1000)大分辨率图片建议统一放在 xxhdpi 目录下管理,否则将导致占用内存成倍数增加。

    说明:

    为了支持多种屏幕尺寸和密度, Android 为多种屏幕提供不同的资源目录进行适配。为不同屏幕密度提供不同的位图可绘制对象,可用于密度特定资源的配置限定符(在

下面详述) 包括 ldpi(低)、 mdpi(中)、 hdpi(高)、 xhdpi(超高)、 xxhdpi (超超高)和 xxxhdpi(超超超高)。例如,高密度屏幕的位图应使用 drawable-hdpi/。

    根据当前的设备屏幕尺寸和密度,将会寻找最匹配的资源,如果将高分辨率图片放入低密度目录,将会造成低端机加载过大图片资源,又可能造成 OOM,同时也是资源浪费,没有必要在低端机使用大图。

三、Android基本组件

Android 基本组件指 Activity、 Fragment、 Service、 BroadcastReceiver、ContentProvider 等等。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值