抛空指针是应该的 因为mhandler在指向new Handler之前是指向null的
onCreate方法优先执行了 所以抛出空指针
把代码改成:
public class MainActivity extends Activity {
private Handler mhandler = new Handler(){
public void handleMessage(Message msg){
System.out.println("收到")
}
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
new Thread(){
public void run() {
while(true){
try {
mhandler.sendEmptyMessage(0)
sleep(3000)
} catch (InterruptedException e) {
e.printStackTrace()
}
}
}
}.start()
}
}
定义一个全局的互斥事件CMunex cMunex;当你在一个线程里要连接数据库的时候可以这样:cMunex.lock()
处理完以后可以这样 :cMunex.unlock()
这样就OK了。应该可以解决问题了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)