java - runOnUi 减慢应用程序速度并使其强制关闭

标签 java android

我正在无限时间生成一个随机字符串并将其设置为 EditText。 当我没有使用 runOnUi 应用程序时,它正在具有高性能的较新设备上工作。但当我启动线程并给出错误(从错误的线程异常调用)时,它在旧模型上崩溃

然后我使用了 runOnUi,但它使速度 super 慢并强制关闭它。

Thread thread = new Thread(new Runnable() {
                   @Override
                   public void run() {
                       while (true) {
                           runOnUiThread(new Runnable() {
                               @Override
                               public void run() {
                                   try {
                                       tryPass.setText(getAlphaNumericString());
                                       Thread.sleep(2000);
                                   } catch (InterruptedException e) {
                                       e.printStackTrace();
                                   }


                               }
                           });
                       }
                   }
               });
               thread.start();

最佳答案

您试图通过在 UI 线程上调用 Thread.sleep(2000); 来阻止 UI 线程。

试试这个方法:

Thread thread = new Thread(new Runnable() {
    @Override
    public void run() {
        while (true) {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    tryPass.setText(getAlphaNumericString());
                }
            });
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
});
thread.start();

关于java - runOnUi 减慢应用程序速度并使其强制关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60335091/

相关文章:

java - 如何验证xlsx文件和DB

java - 插入 sql 时将 comboBox 值替换为数字

Java - 将按钮单击从一个类传递到主类

android - 未知的命令行选项 '--recompile-scripts' 。更新 gradle 到 5.1.1 后

java - ImageView 内容的坐标

JAVA:两步 View 模式:我们如何使用两个 XSL 文件将转换 View 转换为两步 View 以获得所需的 HTML 输出?‽

java - 在 Spring Security OAuth2 中注入(inject)自定义 userDetailsS​​ervice 的问题

android - 将 1000 多条记录上传到服务器的最佳方法是什么,该服务器还包含来自 iOS/Android 应用程序的每条记录的图像?

android - ViewPager 安卓 :NullPointerException: Attempt to invoke virtual method

android - 刷新我的 fragment 没有像我想象的那样工作