在我的应用程序中有时可能需要很长时间来加载一些值(例如从谷歌地图中检索行车路线)。这导致启动“等待”警报对话框。我想知道当力关闭时会发生什么单击按钮?我的意思是当启用强制关闭时将运行什么代码?我们是否可以手动调整“等待”警告对话框出现的时间?如果不是此对话框出现的默认时间是多少?
答案 0 :(得分:2)
我知道它有时会令人讨厌但是他们非常有意义地(在我看来)确保程序员确保他们的应用程序运行顺畅而没有UI冻结。
我现在无法找到有关它的文件,但如果我没记错的话,大约4秒钟......
您只需要确保应用程序中没有UI冻结或延迟,这意味着如果您的值需要超过几秒钟才能加载,则应该异步加载。
您需要将主活动中的任何重负载移动到异步运行(使用async task或thread)。
答案 1 :(得分:1)
您应该阅读Android线程上的this article。
您永远不想在主线程上执行任何长时间运行的任务。如果操作将花费超过一秒的时间,您应该使用AsyncTask或创建自己的后台线程来执行任务。
答案 2 :(得分:0)
据我所知,当你进入那个对话框时,Android操作系统已经接管了并且正在杀死你的进程。如果这是经常发生的事情,那么应该使用堆栈转储来确定崩溃应用程序的原因。
答案 3 :(得分:0)
您不应该在事件线程上进行耗时的初始化。您应该启动后台线程(或AsyncTask)来执行初始化工作。请参阅指南主题Designing for Responsiveness。后续阅读应包括Processes and Threads和Painless Threading。