dialog以及aidl杂谈

找到组织 发布于 2013/12/12 18:10
阅读 439
收藏 0

在使用progressDialog是进场会出现这种情景就是通过handler在子线程中进行转菊花或者其他的dialog的操作,当完成某种标志后,进而将菊花消失dismiss(),但是在dismiss的时候如果处理不当可能会出现View not attach to windowmanager的情况遇到这种情况往往是因为在进行dismiss的时候他的附属activity已经消失了(onDestroy),这个时候你在进行dismiss那么就会出现这种情况。所以在附属activity进行ondestroy的时候就应该对dialog进行处理dismiss,或者在dialog进行dismiss之前进行相应的判断调用(这种不太保险个人意见)。

AIDL网上大部分是说进行进程之间的交互,我个人的理解是能通过service更方便的进行activity等进行UI操作,比如说通过service的onbind返回的桩句柄(IPC桩程序个人理解的不是很深就不误导观众了),在进行了

onServiceConnected之后在activity中能够直接对service中进行控制,同样service也可以通过实现的stub来进行自己的操作。注意这个时候的service只能用Service本身,想要用IntentService的目前我好想还没用明白,等再看看吧,能不能用IntentService。其实有了AIDL之后在service中进行相关的操作就非常容易了。不如你可以通过service中的MediaPlayer获取到getCurrentPosition然后更新到后台的seekbar中,或者是在task中更新task界面中的进度,这种也是很方便实现的。另外一定要在bindService之后在使用AIDL对象句柄,不然还没connectedService你就直接用他的句柄那么会出现nullpointer异常。好了就写到这,干点正事。

加载中
返回顶部
顶部