Android 正在寻找一个快速的'n轻松等待命令
在一个快速等待命令之后,它将使我的应用程序停止,比如说10毫秒,这样它看起来就像是在给球制作动画Android 正在寻找一个快速的'n轻松等待命令,android,wait,Android,Wait,在一个快速等待命令之后,它将使我的应用程序停止,比如说10毫秒,这样它看起来就像是在给球制作动画 public class PiranhaDrop extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
public class PiranhaDrop extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
FrameLayout main = (FrameLayout) findViewById(R.id.main_view);
main.addView(new Drawing(this,0,0,0));
int MyLoop=0;
while(MyLoop<100)
{
main.addView(new Drawing(this,MyLoop,10,10));
synchronized(this){wait(10);}
//try{Thread.sleep(WaitTime);} catch (InterruptedException e){}
MyLoop=MyLoop+1;
main.setOnTouchListener(new View.OnTouchListener()
{
public boolean onTouch(View v, MotionEvent e)
{
float x = e.getX();
float y = e.getY();
FrameLayout flView = (FrameLayout) v;
flView.addView(new Drawing(getParent(),x,y,25));
return false;
}
});
}
}
}
正如你所看到的,在循环开始后,我尝试了一些WaitTime所指的长时间的方法,但都没有成功——这两种方法都没有成功
谢谢。正确的等待方式是:
try
{
Thread.sleep(10);
}
catch (Exception e){}
但是,请注意,这将在UI线程上运行。
对于10毫秒,没有真正的问题,这是首选的等待方式。。。但在较长的时间内,它将导致用户看到一个丑陋的对话框,说你的应用程序没有响应。无需手动执行此操作。与一系列位图一起使用,或者更好地移动/调整现有视图的大小。正如您所说,在UI线程中调用睡眠是一种不好的做法。所以不要把它当作解决方案,我不同意。对于10毫秒,这是一个好方法。。。虽然我不知道10毫秒的睡眠能达到什么效果,但我想我已经用上面的incredipp代码实现了。Eclipse中的emulator不太喜欢它,但我会看看它是否能正常工作。我只回答了你最初关于如何等待的问题。您的代码中存在一些问题,主要是创建了大量的对象,并使垃圾收集器工作得非常辛苦。。。