【问题标题】:Intuitively Understanding Android Tasks直观理解 Android 任务
【发布时间】:2011-03-03 06:46:34
【问题描述】:

Tasks and Back Stack 是了解涉及任务及其与后退按钮交互的机制 的权威资源。在前面的段落中:

任务是活动的集合 用户何时与之交互 执行某项工作。这 活动被安排在一个堆栈中 (“回栈”),按顺序 每个活动打开的位置。

然后根据主屏幕及其启动进程的方式解释任务。这是有道理的。不过,我很好奇:什么应该决定在“用户”应用程序中使用多个任务?

我感兴趣的是直观理解或启发式指导任务的使用,而不是简单地尝试在后台堆栈上实现特定的活动顺序。

【问题讨论】:

    标签: android architecture


    【解决方案1】:

    任务是一组组件,它们协同工作以实现用户的目的(不一定是非常具体的目的,但仍然是一个目的)。这是用户所看到的应用程序。

    存在音乐播放器以允许用户管理和播放歌曲。它可能包括显示专辑/艺术家/歌曲元数据、控制播放、组织播放列表等的各种活动。它还可能包括实现播放和观看新歌曲的服务。用户不知道活动和服务是什么;他或她只知道这一系列的屏幕可以让他或她管理和播放歌曲。

    从开发的角度来看,任务中的活动不需要属于同一个“应用程序”。如果音乐播放器任务允许用户将图像链接到歌曲,那么它可能会启动图像库活动或相机活动。由于新活动仍在朝着管理歌曲的目的而努力,因此它仍然是同一任务的一部分。

    另一方面,如果用户完全脱离了任务的目的,可能是时候开始一项不同的任务了。例如,如果您启动 Web 浏览器来查看艺术家的网站,那么用户现在正在做一些不同的事情。用户可能不会将网页浏览与管理和播放歌曲相关联,因此这应该是一项不同的任务。

    【讨论】:

    • 你是说从用户的角度来看,一个任务形成了一种“应用程序”,可能不是从单个 来看​​的?
    • @Matthew:对。任务可能会从各种包中提取活动,但所有活动都协同工作以完成任务的目的。从用户的角度来看,它是最接近桌面应用程序的 Android 应用程序。
    • 从你的个人资料来看,我应该问你问题,而不是反过来。 Activity/Task 的想法仍然是我直到阅读后才真正掌握的东西,对它感到困惑,深入了解 Android 入门书籍(其中涉及在多个活动之间制作和转换),并重新阅读有关任务的内容。跨度>
    【解决方案2】:

    我认为在给定上下文中的任务是一种工作流。拿电子邮件。写一封新电子邮件可能包括 首先填写收件人,然后在下一个活动中选择收件人并单击发送,最后发送电子邮件。 另一项任务可能是选择多封电子邮件,然后一次性删除所有电子邮件。

    在实践中,您经常发现AsyncTask 基本上是在后台工作,否则会阻塞 UI 线程并使应用程序无响应。

    【讨论】:

    • 我不确定 AsyncTask 是 Activity/Back-stack 意义上的任务。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 2012-02-14
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多