我基本上是一個C++開發人員,但最近已經轉移到Android。 我的問題是Java中C++(Windows)Sleep()函數的最佳選擇是什麼?我只需要簡單地延遲執行android(java)中的程序,然後爲for循環的每次迭代恢復它。但是,當我在java中使用Thread.sleep()時,它會導致某種類型的android系統掛起並且不能按預期工作。 希望你能理解我的問題和要求。請提出一個更好的方法來獲得Java中的C++ Sleep()功能。在java和android中,C++ Sleep()的最佳選擇是什麼?
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(Color.BLACK);
paint.setStrokeWidth(5);
paint.setStyle(Paint.Style.STROKE);
Path path = new Path();
path.moveTo(myPath[0].x, myPath[0].y);
for (int i = 1; i < myPath.length; i++) {
path.lineTo(myPath[i].x, myPath[i].y);
canvas.drawPath(path, paint);try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
這是我的代碼。我希望在延遲1秒後看到每條路徑線,以便我可以看到圖形。但是,它確實是暫停應用程序1秒,然後立即繪製完成。
Possibel重複http://stackoverflow.com/questions/8369718/sleep-function-in-android-program – Peopleware
研究'android.os。Handler'類 – pskink
對於這種特殊情況(您編輯的問題中的'onDraw'方法),您應該閱讀關於'ValueAnimator' /'ObjectAnimator' – pskink