cocos2dx里 _fdPlayerObject-Destroy_fdPlayerObject 造成了anr
ANR (Application Not Responding) 是指应用程序无响应的状态,通常是因为应用程序的主线程(UI线程)长时间被阻塞而导致。
在给定的代码中,(*_fdPlayerObject)->Destroy(_fdPlayerObject) 是对一个对象进行销毁的操作。如果这个操作需要较长的时间来完成,那么就有可能导致主线程被阻塞,进而引发ANR。
在解决这个问题时,可以考虑将销毁操作放在子线程中执行,以避免阻塞主线程。可以使用多线程的方式来执行销毁操作,并在销毁完成后通过回调或消息机制通知主线程更新UI。
另外,还可以检查销毁操作是否存在其他耗时操作,例如文件操作、网络请求等,如果存在,可以考虑使用异步方式执行这些操作,以减少对主线程的阻塞。
总之,要避免在主线程中执行耗时操作,以确保应用程序的响应性。
原文地址: http://www.cveoy.top/t/topic/h2aN 著作权归作者所有。请勿转载和采集!