android - 创建无限循环android的最佳方法

标签 android loops for-loop android-asynctask while-loop

<分区>

我想知道在考虑性能的情况下,在 Android 编程中创建无限循环的最佳方法是什么? (类似于 for(;;)、AsyncTask 或 while(true)...)。干杯。

最佳答案

如果您使用无限期的 whilefor 循环,它会大大降低应用程序的性能,卡住 UI,一段时间后您将看到 应用程序没有响应 如果您在 UI 线程本身中执行任务,则会出错。

相反,如果您想在某个时间间隔内连续执行某些任务,请考虑使用 Timer

TimerTask timer= new TimerTask(){

        @Override
        public void run() {
           //Do your task here

            runOnUiThread(new Runnable() {

                @Override
                public void run() {

                    //Task which involves manipulating UI
                }
            });
        }

然后您可以以固定速率调用Timer

t.scheduleAtFixedRate(timer , 0 , 5000);

所以上面的代码每 5 秒(5000 毫秒) 调用一次 TimerTask。由于它在单独的线程上运行,因此不会出现性能问题。

有关更多信息,您可以引用官方文档,http://developer.android.com/reference/java/util/Timer.html

关于android - 创建无限循环android的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20821454/

相关文章:

android - 更新后的 Android Studio 现在需要 Clang,不再链接到 GCC 的库

替换由另一个矩阵索引的矩阵元素

常量 for 循环产生错误的结果

在数据帧的列中紧跟其后用数字替换前导 0

android - 替换正在运行的 roboguice 应用程序中的单例实例

android - Retrofit ssl=0x717f870208 : I/O error during system call, 连接被对端重置

android - 如何使用 Charles Proxy 分析来自 Android 6 模拟器的 https 流量

r - 使用 R6 高效创建对象

javascript - 循环播放视频并在每次播放后刷新

excel - 显示错误消息并恢复循环