最近在做一个基本的音乐播放器,现在遇到播放时候一卡一卡的现象,是和我的UI更新有关系。播放的代码.
 public boolean play() {
        if (myApp.getMusicList() != null && myApp.getMusicList().size() > 0) {
            File fi = new File(myApp.getMusicList().get(myApp.getPosition()).getPath());
            Uri uri = Uri.fromFile(fi);
            Log.i("uri ", String.valueOf(uri));
            if(mediaPlayer != null){
                mediaPlayer.reset();
            }
            mediaPlayer = MediaPlayer.create(this, uri);
            mediaPlayer.setLooping(false);            if (mediaPlayer != null && !mediaPlayer.isPlaying()) {
                Log.e("service", "Play");
                mediaPlayer.start();
                isPlay = true;
                Log.e("MeDia", String.valueOf(mediaPlayer.getDuration()));    
                myApp.setTotalTime(mediaPlayer.getDuration());
                new Thread(myRunnable).start();//////① 开启一个新的线程去更新UI
                return true;
            } else {
                return false;
            }
        }else{
            return false;
        }
    }
   
    Runnable myRunnable = new Runnable() {
        
        @Override
        public void run() {
            int CurrentPosition = 0;// 设置默认进度条当前位置  
            int total = mediaPlayer.getDuration();//  
            while (mediaPlayer != null && CurrentPosition < total) {  
                try {  
                    Thread.sleep(1000);  
                    if (mediaPlayer != null) {  
                        CurrentPosition = mediaPlayer.getCurrentPosition();  
                    }  
                } catch (InterruptedException e) {  
                    e.printStackTrace();  
                }
                Message msg = myHandler.obtainMessage();
                msg.what = CurrentPosition;
                myHandler.sendMessage(msg);
            }  
        }
    };   Handler myHandler = new Handler(){
        public void handleMessage( Message msg){
            int temp =  msg.what;
            PlayActivity.proBar.setProgress(temp);
            PlayActivity.curTimeLbl.setText(String.valueOf(LongToMMSS.mSecFormat(temp)));
        } 
    };没有①处的代码播放流畅,添加①处后,播放就会一卡一卡的。求教各位大神该如何解决。Android