`
hyongbai
  • 浏览: 15271 次
文章分类
社区版块
存档分类
最新评论

开发 注意 事项

 
阅读更多

1. 为Activity声明系统配置变更事件

系统配置变更事件是指转屏,区域语言发生变化,屏幕尺寸发生变化等等,如果Activity没有声明处理这些事件,发生事件时,系统会把Activity杀掉然后重启,并尝试恢复状态,Activity有机会通过onSaveInstanceState()保存一些基本数据到Bundle中,然后此Bundle会在Activity的onCreate()中传递过去。虽然这貌似正常,但是这会引发问题,因为很多其他的东西比如Dialog等是要依赖于具体Activity实例的。所以这种系统默认行为通常都不是我们想要的。
为了避免这些系统默认行为,就需要为Activity声明这些配置,如下二个是每个Activity必须声明的:
<activity android:configChanges="orientation|keyboardHidden">
几乎所有的Activity都要声明如上,为什么Android不把它们变成Default的呢?

2. 尽量使用Android的API

这好像是废话,在Android上面开发不用Android API用什么?因为Android几乎支持Java SE所有的API,所以有很多地方Android API与Java SE的API会有重复的地方,比如说对于文件的操作最好使用Android里面Context封装的API,而不要直接使用File对象:
Context.openFileOutput(String); // no File file = new File(String)
原因就是API里面会考虑到Android平台本身的特性;再如,少用Thread,而多使用AsyncTask等。

3. 要考虑到Activity和进程被杀掉的情况

如了通常情况退出Activity外,还有Activity因其他原因被杀的情况,比如系统内存过低,系统配置变更,有异常等等,要考虑和测试这种情况,特别是Activity处理重要的数据时,做好的数据的保存。

4. 小心多语言

有些语言真的很啰嗦,中文或英文很简短就能表达的事情到了其他语言就变的死长死长的,所以如果是wrap_content就可能把其他控制挤出可视范围; 如果是指定长度就可能显示不全。也要注意特殊语言比如那些从右向左读的语言。

5. 不要用四大组件去实现接口

一是组件的对象都比较大,实现接口比较浪费,而且让代码更不易读和理解; 另外更重要的是导致多方引用,可能会引发内存泄露。

6. 用getApplication()来取Context当参数

对于需要使用Context对象作为参数的函数,要使用getApplication()获取Context对象当参数,而不要使用this,除非你需要特定的组件实例!getApplication()返回的Context是属于Application的,它会在整个应用的生命周期内存在,远大于某个组件的生命周期,所以即使某个引用长期持有Context对象也不会引发内存泄露。

7. 主线程只做UI控制和Frameworks回调相关的事。附属线程只做费时的后台操作。交互只通过Handler。这样就可以避免大量的线程问题。

8. Frameworks的回调不要做太多事情仅做必要的初始化,其他不是很重要的事情可以放到其他线程中去做,或者用Handler Schedule到稍后再做。

9. 要考虑多分辨率

至少为hdpi, mdpi, ldpi准备图片和布局。元素的单位也尽可能的使用dip而不要用px。

10. 利用Android手机的硬键

几乎所有的Android手机都有BACK和MENU,它们的作用是返回和弹出菜单,所以就不要再在UI中设计返回按扭和菜单按扭。很多优秀的应用如随手记和微信都有返回键,他们之所以有是因为他们都是从iOS上移植过来的,为了保存体验的一致,所以也有了返回和菜单。但这不够Android化,一个纯正的Android是没有必须重复硬键的功能的
分享到:
评论

相关推荐

    JAVA开发规范,开发注意事项

    在Java开发过程中,遵循一套规范和注意事项至关重要,它不仅能提高代码的可读性和维护性,还能确保团队间的协作效率。以下是一些核心的Java开发规范和需要注意的事项: 1. **命名规范**: - 类名:使用驼峰式命名...

    Oracel开发注意事项

    ### Oracle开发注意事项 #### 1. Oracle SQL优化技巧 在Oracle数据库开发中,SQL语句的性能直接影响到应用的响应速度和资源消耗。一个常见的问题是,在WHERE子句中使用函数,这可能会导致Oracle无法使用索引。例如...

    Java开发注意事项

    在深入探讨Java开发注意事项之前,我们首先应当澄清,给定的部分内容似乎包含了非文本或乱码信息,这可能源于文档转换或编码问题。不过,基于标题“Java开发注意事项”及描述“Java开发注意事项,编程人员可以看看哦...

    云智社区小程序开发注意事项

    云智社区小程序开发注意事项 云智社区小程序开发注意事项是指在开发云智社区小程序时需要注意的一些重要事项,以确保小程序的稳定性、可维护性和可扩展性。本文将从框架选择、公共样式、导航组件、页面模板和代码...

    PI数据库开发注意事项

    ### PI数据库开发注意事项 #### 实时数据库概述及特点 实时数据库是一种专为处理实时数据而设计的数据库系统,与传统的关系型数据库相比,它具备独特的特性和应用场景。实时数据库主要用于实时数据的采集、处理和...

    物流APP开发注意事项PPT课件.pptx

    物流APP开发注意事项 市场研究与前置作业 在物流APP开发之前,企业应当对市场进行研究和分析,了解当前市场上的发展趋势、用户需求和竞争对手的状况。只有通过市场研究,企业才能更好地了解用户的需求和偏好,从而...

    autocad .net开发注意事项

    AutoCAD.NET二次开发注意事项与开发技巧  1、如果要在Winform中打开DWG图形文件,这个Form必须用Application.ShowModelessDialog方式显示,不然会报错(执行环境无效)。  2、在非模态窗口中修改实体时,需要将...

    小程序开发注意事项.pdf

    小程序开发注意事项.pdf小程序开发注意事项.pdf小程序开发注意事项.pdf小程序开发注意事项.pdf小程序开发注意事项.pdf小程序开发注意事项.pdf小程序开发注意事项.pdf小程序开发注意事项.pdf小程序开发注意事项.pdf

    ios6 开发注意事项

    以下是一些关键的开发注意事项: 1. **屏幕大小适配**: 在iOS6中,设备屏幕大小的变化需要特别关注。不要直接使用硬编码的数值,如320/480来表示屏幕宽度和高度,因为这可能导致在不同尺寸的设备上出现问题。例如...

    简要介绍嵌入式开发注意事项

    嵌入式开发注意事项

    介绍了小程序开发注意事项

    小程序开发注意事项

    欧标直流充电桩开发注意事项

    欧标直流充电桩开发注意事项

    一卡通开发注意事项

    一卡通的开发注意事项,仿照“供应商管理”编码实现“供应商管理2”

    VP3+C从站开发注意事项

    DP VP3+C从站开发注意事项,寄存器配置详解,单片机8051 VPC开发。

    NC主子孙表介绍及开发注意事项

    ①用友NC主子孙表介绍, ②主子孙表从元数据到单据开发讲解, ③开发注意事项。

    手机开发注意事项

    以下是对这些注意事项的详细解释: 首先,产品说明是吸引用户的关键。一个清晰、突出优势的产品描述能瞬间抓住用户的眼球,促使他们下载并体验软件。产品说明应当简洁明了,突出软件的核心功能和独特之处,同时兼顾...

    V7 FPGA开发注意事项

    V7 FPGA 开发是一项复杂而细致的工作,涉及多个关键步骤和设计注意事项。首先,电源设计是FPGA系统的基础,必须确保稳定和适当的电源电压。各电源电压应满足规定的波动范围,电流需求可以通过XPE工具进行计算,以...

    微信小程序开发注意事项

    微信小程序开发的常用配置,事件数据交互api 组件。

    新手入门嵌入式开发注意事项

    嵌入式初学者学习时应该注意的问题。

    web开发注意事项(二).docx

    这些注意事项是Web开发中常见的实践,遵循它们可以显著提升开发效率,减少后期维护的复杂度,同时也为用户提供更流畅的交互体验。在开发过程中,始终关注性能优化、代码可维护性和用户体验,是成为一名优秀Web开发者...

Global site tag (gtag.js) - Google Analytics