摘录


如果你不使用 app组件存储app数据和状态,那么应该如何构造应用程序呢?

你关注的最重要的事情是如何在你的应用中分离关注点。常见的错误是将所有的代码写入一个Activity或Fragment,任何不处理 UI 或 与操作系统交互的代码都不应该出现在这些类中,你应该尽可能保持 Activity或Fragment 精简,这样可以避免许多生命周期相关的问题。请记住,你不拥有这些类,它们只是建立操作系统和你的应用程序之间契约的胶水类。Android操作系统可能会随时根据用户交互或其他因素(如低内存)来销毁它们。最好尽可能地减少依赖他们,以提供可靠的用户体验。

第二个重要原则是 你应该从一个模型驱动你的UI,最好是一个持久化的模型。之所以说持久化是理想的模型,原因有两个:如果操作系统销毁你的应用程序以释放资源,那么你的用户就不会丢失数据,即使网络连接不稳定或连接不上,您的应用程序也会继续工作。模型是负责处理应用程序数据的组件。它们独立于应用程序的 Views 和 app组件,因此模型与这些 app组件的生命周期问题是相隔离的。保持简洁的UI代码,以及不受约束的应用程序逻辑,可以使app的管理更加容易,基于具有明确定义的管理数据责任的模型类的应用程序,会更加具有可测试性,并使您的应用程序状态保持前后一致。

点评

NULL

原文

点击这里查看原文

其它

本帖内容由21QA云收藏工具自动生成,欢迎使用。

系统消息 若觉得内容不错,请点击左上角的"赞"图标,以优化网站的内容呈现。 另外,请及时验证注册邮箱,否则收不到21QA发出的红包。 官方Q群:250203055

asked 23 Apr, 22:27

%E8%B7%AF%E4%BA%BA%E7%94%B2's gravatar image

路人甲
131590684878

Be the first one to answer this question!
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link: [text](http://url.com/ "title")
  • image: ![alt](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×885
×94

question asked: 23 Apr, 22:27

question was seen: 203 times

last updated: 23 Apr, 22:27

powered by O*S*Q*A

粤ICP备14040061号-1