1

所以.. 我的应用程序中有一个非常奇怪的错误。
在某些时候,由于某种原因,应用程序停止处理某些事件,例如:在 notifydatasetchanged 调用后适配器不会更新,mapview 根本没有响应,活动不会启动,任何类型的片段事务什么都不做 - 列表继续。

但同时,如果我按下某个按钮 - 它会显示波纹效果并触发 onClick(甚至通过此单击启动的网络请求也成功完成),这意味着主线程仍然可以正常工作。
我能够以编程方式隐藏和显示视图,接收 firebase 实时数据库事件并执行各种业务逻辑。

我的疯狂猜测是,要么是一些负责这种东西的线程卡住了(死锁?),要么这就是应用程序在 OutOfMemoryException 之后的工作方式?因为这通常发生在大量使用地图(Yandex Map)之后。

我真的不明白这是怎么回事。

4

1 回答 1

0

我想到了。这种奇怪的行为是由于对来自一个后台线程的 UI 元素进行了大量工作。我不知道为什么以及如何项目仍在工作,但事实就是如此。N 从非 UI 线程调用 UI 后出现问题。
此外,在 Android 8 上它会立即中断,但在较低的 api 级别应用程序可以在中断前工作数小时。

于 2017-12-04T20:44:25.117 回答