Android MediaPlayer:prepareAsync() 和 prepare() 方法区别详解
Android MediaPlayer 对象的 prepareAsync() 方法和 prepare() 方法的区别在于它们的调用方式和执行顺序。
- prepare()方法是同步的,它会阻塞当前线程,直到 MediaPlayer 对象准备完成。通常在主线程中调用- prepare()方法会导致界面卡顿,因此不推荐在主线程中使用。
- prepareAsync()方法是异步的,它会立即返回并在后台线程中准备 MediaPlayer 对象。准备完成后,会调用 OnPreparedListener 接口的- onPrepared()方法通知准备完成。通常在后台线程中调用- prepareAsync()方法,避免了主线程的阻塞,提升了界面的流畅性。
综上所述,prepareAsync() 方法适用于需要在后台线程中准备 MediaPlayer 对象的情况,而 prepare() 方法适用于在主线程中准备 MediaPlayer 对象的情况。
原文地址: https://www.cveoy.top/t/topic/qlYa 著作权归作者所有。请勿转载和采集!