Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 启动活动缓慢_Android_Android Activity_Android Asynctask - Fatal编程技术网

Android 启动活动缓慢

Android 启动活动缓慢,android,android-activity,android-asynctask,Android,Android Activity,Android Asynctask,我正在写一个在线音乐应用程序。但是我遇到了一个问题。。。当我在listview中选择一个项目时,新活动会缓慢启动。。。 我不知道该怎么办,请帮帮我( 对不起,我英语说得很差:( 这是我的代码: public class startNewActivity extends AsyncTask<String, Void, String> { private Activity activity; private String selectDoc = "div.gen img"

我正在写一个在线音乐应用程序。但是我遇到了一个问题。。。当我在listview中选择一个项目时,新活动会缓慢启动。。。 我不知道该怎么办,请帮帮我( 对不起,我英语说得很差:(

这是我的代码:

public class startNewActivity extends AsyncTask<String, Void, String> {
    private Activity activity;
    private String selectDoc = "div.gen img";
    private String attr = "title";
    private String result;
    public String Quality;

    public startNewActivity(Activity activity) {
        this.activity = activity;
    }

    @Override
    protected String doInBackground(String... arg0) {
        nameSong = (String) lvSong.getItemAtPosition(positionId);
        link = linkSong.get(Integer.valueOf(obj.toString()));

        Quality = Utils.getQuality(link, selectDoc, attr, result);
        Log.i("Quality", Quality);
        changeLink = link.replace(".html", "_download.html").substring(15)
                .replaceFirst("", "http://download")
                .replace("nhac-hot", "mp3".concat("/vietnam/v-pop"));
        Log.i("Change link", changeLink);
        try {
          //Connect internet
            linkIntent = Utils.getLinkPlay(selectLinkPlay, changeLink,
                    afterChangeLink);
        } catch (Exception e) {
            Toast.makeText(getApplicationContext(),
                    "Server has problem... Please while for minutes",
                    Toast.LENGTH_SHORT).show();
        }
        return linkIntent;
    }

    @Override
    protected void onPostExecute(String result) {
     //i'm want help here
        Intent i = new Intent(SongActivity.this, PlayMusicActivity.class);
        i.putExtra("song", linkIntent);
        i.putExtra("namesong", nameSong);
        i.putExtra("Quality", Quality);
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        activity.startActivity(i);
        pDialog.dismiss();
        super.onPostExecute(result);
    }

    @Override
    protected void onPreExecute() {
        pDialog = ProgressDialog.show(SongActivity.this, "",
                "Please wait...");
    }
}
公共类startNewActivity扩展异步任务{
私人活动;
私有字符串selectDoc=“div.gen img”;
私有字符串attr=“title”;
私有字符串结果;
公共质量;
公共启动活动(活动){
这个。活动=活动;
}
@凌驾
受保护的字符串doInBackground(字符串…arg0){
nameSong=(字符串)lvSong.getItemAtPosition(positionId);
link=linkSong.get(Integer.valueOf(obj.toString());
质量=Utils.getQuality(链接、选择文档、属性、结果);
Log.i(“质量”,质量);
changeLink=link.replace(“.html”,“_download.html”)。子字符串(15)
.replaceFirst(“,”http://download")
.替换(“nhac hot”、“mp3.concat”(/vietnam/v-pop”);
Log.i(“变更链接”,变更链接);
试一试{
//连接互联网
linkIntent=Utils.getLinkPlay(选择LinkPlay、changeLink、,
后更换连接);
}捕获(例外e){
Toast.makeText(getApplicationContext(),
“服务器出现问题…请等待分钟”,
吐司。长度(短)。show();
}
返回链接意图;
}
@凌驾
受保护的void onPostExecute(字符串结果){
//我在这里需要帮助
意向i=新意向(SongActivity.this、PlayMusicActivity.class);
i、 putExtra(“歌曲”,链接意图);
i、 普特拉(“纳松”,纳松);
i、 额外(“质量”,质量);
i、 设置标志(意图、标志、活动、新任务);
活动性、触觉性(i);
pDialog.disclose();
super.onPostExecute(结果);
}
@凌驾
受保护的void onPreExecute(){
pDialog=ProgressDialog.show(SongActivity.this,“,
“请稍等……”;
}
}

您正在
onPostExecute()
内启动新活动,该活动仅在您完成
doInBackground()
后执行。因此,时间延迟


理想情况下,您应该在执行AsyncTask后立即启动活动。当您的活动更改时,AsyncTask将在后台继续。

使用Traceview确定您的时间花费在哪里。您编写了什么代码hv u onClick?plz postthat@CommonsWare我是新手:(.但活动开始时单击大约3-4秒第一次…我知道你回答我的问题…我现在将编辑我的代码。我开始播放音乐活动,并在播放前处理它。)