java - Android Activity LifeCycle,应用程序运行时运行 while 循环的方法是什么?

标签 java android android-activity android-studio

我创建了一个应用程序,用于搜索越来越大的素数并将它们保存在文本文件中。正确知道我让用户单击一个按钮以使应用程序搜索更大的素数并将其保存到文件。

我希望应用程序在后台运行 while 循环,并自行搜索和保存,而不需要任何用户交互,而不是单击。

是onStart();将 while 循环放入其中以便它在应用程序运行时在后台运行的好方法? 我还应该使用 Runnable 接口(interface)动态地向用户显示找到质数并将其保存到文件中吗?

提前谢谢您!

最佳答案

如果您的 while 循环将执行大量工作,则可以使用 Service,或者考虑使用 AsyncTask(最多几秒钟。)。

服务是一个应用程序组件,代表应用程序希望在不与用户交互的情况下执行长时间运行的操作,或者提供功能供其他应用程序使用 ( here )

AsyncTask 可以正确且轻松地使用 UI 线程。 here

正如 @EpicPandaForce 提到的,如果您正在执行 CPU 密集型操作(例如 mp3),请考虑使用 IntentService 因为它是在另一个线程上执行的。

关于java - Android Activity LifeCycle,应用程序运行时运行 while 循环的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30200957/

相关文章:

java - JNI 调用时出现 UnsatisfiedLinkError

java - 如何将分割数组的其余部分转换为java上的字符串?

android - 在 Android 中从服务启动 Activity

android - Android 中的 Activity 识别不起作用

java - 为什么使用 Json Simple API 在 java 中动态增加 json 数组大小?

java - 切换到新的 Activity/应用页面时应用崩溃

java - 康威的生命游戏新值(value)观

java - 使用钻石时编译器推断的类型参数是什么?

android - 从我的 Android 应用程序以编程方式打开选定的文件(图像、pdf、...)?

java - android中如何将二进制字符串数据转换为String