如何在AOSP中更改应用程序无响应(ANR)超时时间

8

我该如何在AOSP源代码中更改应用程序无响应(ANR)超时时间?默认超时时间为5秒,但是在哪里设置以及如何更改呢?


从经验来看,这取决于设备。在某些设备上,时间为5秒,但在一些设备上则更长。 - gunar
@gunar 我们能在我们的源代码中更改它吗? - Dhasneem
2
不可能!!!你应该调查为什么会发生这种情况并消除原因,而不是效果。这是一个好的线程:https://dev59.com/THRB5IYBdhLWcg3wJkhC?rq=1 - gunar
1
如果你有设备的源代码,那么你可以更改、编译并刷入它。但是,如果其他人在使用你的应用程序时遇到ANR问题,这并不会对他们有所帮助... - ataulm
1个回答

14

ANR超时时间在File InputDispatcher.cpp (frameworks\base\libs\ui)中定义。以下是复制并粘贴该代码段。

// Default input dispatching timeout if there is no focused application or paused window
// from which to determine an appropriate dispatching timeout.
const nsecs_t DEFAULT_INPUT_DISPATCHING_TIMEOUT = 5000 * 1000000LL; // 5 sec

在我的源代码中,没有名为InputDispatcher.cpp的文件。我需要它来获取ICS源代码。 - Dhasneem
请在此路径检查: frameworks/base/services/input/InputDispatcher.cpp。 - Nargis
嗯,我可以找到答案。还有一个疑问,所有的源代码都会存在那里吗?还是会改变? - Dhasneem
@Dhasneem - 哦..我迟到了。现在有什么疑问吗? - user370305
找不到 frameworks\base\libs\ui 存储的位置... 你们有什么想法吗? - clst

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接