不允许错过的Anndroid技术经验60条

preview
需积分: 0 0 下载量 167 浏览量 更新于2020-09-02 收藏 122KB PDF 举报
这篇标题为"不允许错过的Anndroid技术经验60条"的文章,旨在分享一系列有助于提升Android开发者技能的经验和技巧。以下是对这些经验的详细解析: 1. 继承BaseActivity:将所有Activity继承自BaseActivity,可以方便地统一界面风格和处理公共事件。通过构建对话框的统一构建器,一旦需要整体改动,只需在一个地方修改即可。 2. 数据库设计:将表字段常量和SQL逻辑分离,使代码更清晰。推荐使用如LiteOrm这样的轻量级框架,以减少对数据库细节的关注,专注于业务逻辑。 3. 全局变量管理:将全局变量放置在全局类中,模块私有的变量放在各自的管理类中,保持常量的清晰和集中。 4. 遵循单一职责原则:避免创建庞大且复杂的管理类,每个类应专注于做好一件事,以提高代码的可读性和可维护性。 5. 延迟初始化:只有在必要的时候才初始化数据,以节省用户的内存资源。 6. 异常处理:在合适的位置捕获并处理异常,避免过多的catch块导致代码混乱和性能下降。尽量避免在循环中捕获异常,以提高性能。 7. 内存泄漏检测:当对象引用链较长时,要警惕内存泄漏。例如,Adapter可能仍然指向旧的数据容器,导致数据更新后ListView无法正确刷新。 8. 数据同步:在进行数据库或网络操作时,确保新插入的数据返回唯一的ID,以便确认同步成功。 9. 多线程与数据库操作:使用事务处理数据库操作,推荐使用自动化库如LiteOrm,以防止并发问题。 10. 代码复用:在开发前考虑哪些资源、布局和类可以复用,进行架构分析,加速开发并提高代码复用度。 11. 有序队列操作:添加和删除元素时要保持队列的排序,以免出现混乱。 12. 数据库级联删除:删除数据时注意相关的关联操作,防止留下无法删除的脏数据。 13. 参数传递:基本类型参数传递的是值,对象参数传递的是引用。 14. ListView操作:当数据不足一屏时,setSelection无效;批量操作时确保ListView子项与视图对应,实现所见即所得。 15. 控制Activity大小:保持Activity的主要逻辑清晰,遵循单一职能和接口隔离原则。 16. ArrayList操作:注意基本类型(int)与包装类型(Integer)在remove时的区别。 17. 打印Log:使用Tag区分Log,便于定位打印位置。 18. 共享资源:尽量共享可复用的代码、常量和资源,即使共享逻辑复杂,也利于后期维护。 19. ListView滚动:setSelection不起作用时,尝试使用smoothScrollToPosition。 20. Activity通信:使用Handler更便捷;回调链过长时,考虑使用监听者模式简化回调。 21. EventBus框架:当监听者模式不便时,可以使用EventBus实现事件总线,提高代码可读性。 22. Handler与线程:子线程使用Looper.prepare或在构造函数中传入MainLooper,确保Handler在主线程运行。 23. TimePicker使用:点击确定后,需要清除焦点以获取手动输入的时间。 24. 异步任务:避免在构造函数中启动异步任务,可能导致意外崩溃。 25. 错误处理:对可能为空的对象进行充分的错误处理,注意null也可以添加到ArrayList等容器中。 26. ExpandableListView:如果子列表不可点击,需要在Adapter的isChildSelectable方法中返回true。 27. UI适配:对于内容过长的情况,提前使用ScrollView以适应不同尺寸的屏幕。 28. 用户交互:按钮的感应区域不应小于9mm,输入框应注意光标位置,以优化用户体验。 29. 唯一标识:服务器和客户端应统一使用唯一的标识,避免歧义。 30. 注释:编写足够的注释,解释代码的思路,提高代码可理解性。 31. 数据库事务:对于完整型数据和大量数据,使用SQLite的事务,可以显著提高性能。 32. 数据存储优化:避免存储如"null"或"无主题"这样的数据,以节省数据库空间。 这些经验涵盖了Android开发的多个方面,包括基础组件使用、异常处理、数据库操作、UI设计、性能优化以及代码组织。遵循这些经验,开发者可以提升代码质量,降低维护成本,并提高应用程序的用户体验。
weixin_38518006
  • 粉丝: 3
  • 资源: 996
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜