启动方法一:
private void startLoadBitmapThread(){
(new ReadBitmapRunnable(this, this.getContentResolver())).run();
}
启动方法二:
private void startLoadBitmapThread(){
Thread thread = new Thread(new ReadBitmapRunnable(this, this.getContentResolver()));
thread.start();
}线程类:
class ReadBitmapRunnable implements Runnable{
private Activity mActivity;
private ContentResolver mContentResolver;
public ReadBitmapRunnable(Activity pActivity, ContentResolver pContentResolver){
mActivity = pActivity;
mContentResolver = pContentResolver;
}
@Override
public void run() {
// TODO Auto-generated method stub
GinwaveDataSource.readAllAlbumPicture(mActivity, mContentResolver);
GinwaveDataSource.readAllWhiteAlbumPicture(mActivity, mContentResolver);
}
}使用方法一启动线程会阻塞主线程,而是用方法二不会阻塞主线程,两者的区别还没搞清楚。
本文探讨了两种不同的启动线程方法:一种直接调用run()方法,另一种通过start()方法启动新线程。前者会导致主线程阻塞,而后者则可以避免此问题。文章通过具体代码示例展示了这两种方法的区别。
1303

被折叠的 条评论
为什么被折叠?



