该应用程序可能在其主要线程 - Android上做了太多工作

use*_*536 0 email android background

嗨,我正在开发一个Android应用程序,当我尝试从我的应用程序发送电子邮件时,我遇到此错误.我在后台发送邮件而不使用基于此链接的意图

我的节目:

String em[] = {gete(u, e)};

MailSender sender = new GMailSender(
                "email id",
                "password");


                           sender.sendMail("Sub", "Body", "from address",""+em[0]);

                           move();
                        }

                    } catch (Exception e) {

                        Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_LONG).show();
                    }

                }

            }).start();
        }
    });
Run Code Online (Sandbox Code Playgroud)

当我直接指定收件人的电子邮件地址时,应用程序正常工作.当我将其指定为存储收件人电子邮件地址的字符串数组时出现问题.

Logcat显示:

跳过222帧!应用程序可能在其主线程上做了太多工作.

谁能告诉我究竟是什么问题?

odi*_*iil 7

正如你所说,你做的事情太多了.所以使用一个线程来执行你的发送动作:

new Thread(new Runnable() {
    public void run() {
        try {
            sender.sendMail("Sub", "Body", "from address",""+em[0]);
        } catch (Exception e) {
           Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_LONG).show();
        }
    }).start();
Run Code Online (Sandbox Code Playgroud)