核心是,我的Android应用程序包括在获取和显示内容的面板之间导航。每个面板在后台线程上调用fetchContent
,然后在获取内容后,fetchContent
调用runOnUiThread(displayContent
),以显示内容。当用户切换面板时,会调用名为panelSwitch
的事件。
如果用户在提取内容之前切换面板,则panelSwitch
会取消/中断fetchContent
,而displayContent
会通过不调用panelSwitch
来处理中断。但是,我在想如果用户切换面板时UI线程上已经发生了某些事情,那么panelSwitch
会被推到事件队列的后面。然后,如果后台线程在runOnUiThread(displayContent)
到达队列前面之前完成提取内容,则displayContent
将panelSwitch
推送到事件队列的末尾,displayContent
之后。这意味着UI将切换面板,然后将显示前一个面板中的内容,这是错误的。
有没有办法像fetchContent
一样取消/中断{{1}}?