Я отредактировал ваш 2-й код функции, я вижу, что ваш код является циклом навсегда, потому что firstMethod вызывает secondMethod, а secondMethod вызывает новый firstMethod для запуска, а затем цикл навсегда.Я удалил его и переместил обновление кода ImageView в поток пользовательского интерфейса, не могли бы вы попробовать это:
class ThraedDemo {
private void firstMethod() {
Thread objThread = new Thread() {
@Override
public void run() {
try {
runOnUiThread(new Runnable() {
public void run(){
((ImageView)findViewById(R.id.ImageViewnumber)).setImageResource(nums[n]);
}
});
Thread.sleep(10000);
Log.v("Thread","1111111111111111sleep");
} catch (InterruptedException ex) {
System.out.println("interuped exception" + ex.getMessage());
}
secondMethod();
}
};
objThread.start();
}
private void secondMethod() {
Thread objThread2 = new Thread() {
@Override
public void run() {
try {
runOnUiThread(new Runnable() {
public void run(){
((ImageView)findViewById(R.id.ImageViewnumber)).setImageResource(nums[n+1]);
}
});
n++;
Thread.sleep(10000);
Log.v("Thread","22222222222 sleep");
} catch (InterruptedException ex) {
System.out.println("interuped exception" + ex.getMessage());
}
}
};
objThread2.start();
}
}