首页
编程教程
编程导航
编程百科
编程问答
编程博文
编程实例
硬件设备
网络运营
软件教程
移动数码
办公软件
操作系统
人工智能
android – MediaPlayer.start()也应该是一个新线程吗?
Android
2020-06-05
这里的教程解释了服务实际上使用主线程.所以它使用prepareAsync来避免阻塞UIS:
http://developer.android.com/guide/topics/media/mediaplayer.html#asyncprepare
我想知道isPrepared上的异步回调在哪里运行.在示例onPrepared
调用
MediaPlayer的start.是否也启动了
cpu
密集型
方法
?如果它在同
一个
线程中运行,它也会阻塞.
解决方法
MediaPlayer.start()至少不是密集型操作. MediaPlayer使用自己的本机线程来执行任务,但是对UI线程
调用
同步prepare
方法
可能需要很长时间,特别是如果它是您尝试播放的远程媒体.
在这
种情况下,它必须等待
一个
或多个网络请求,数据缓冲等.如果你在那里
调用
prepareAsync(或者你
调用
它的任何线程,更准确),onPrepared回调将在主线程上发生. .
相关文章
Android 性能优化——之控件的优化
Android性能优化——之控件的优化 前面讲了图像的优化,接下...
android TextView描边
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
GreenDao教程1
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式——网络页面和本地页面
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
Android 全局使用第三方字体
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
Android中粗字体
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...