【发布时间】:2012-08-18 21:49:43
【问题描述】:
我有一个链接到我的 Android 应用程序的库,我正在从我的 android 活动中调用该库的一些函数,这些函数调用需要时间(4-5 秒)。
由于库的限制,我不能在单独的线程(使用 AsyncTaks、线程)中调用此函数。
当我调用这些函数并且这些函数同时在处理中时,我的 UI 不会响应用户活动并避免我正在显示处理屏幕,并且如果中间用户执行任何关键操作,那么我会得到 ANR错误。
我怎样才能避免这种 ANR,或者除了将时间处理放在单独的线程中之外,我无法避免它?
谢谢。
【问题讨论】:
-
您确定不能在单独的线程上运行这些调用吗?
-
如果我从单独的线程调用它,那么我的库就会崩溃。所以我不能从 Thread 中做到这一点。
-
你在说什么库限制??如果您可以在 UI 线程上执行,您当然可以在单独的线程或异步任务中以相同的方式执行任务。
-
我同意——除非解决图书馆的基本问题,否则你无法克服这个问题
-
应用崩溃时会显示什么错误??
标签: android