读书人

狗血的需求 求思路 200分解决思路

发布时间: 2013-06-19 10:26:41 作者: rapoo

狗血的需求 求思路 200分
现在要在android上播放视频和显示图片,在同一时刻可能有底部播放视频,上层显示图片的情况。或者底部绘制背景图片,上层绘制另一图片的情况(可能要求透明)。疑问有三:
1,实现这种功能在主线程中用surface view是否可以胜任?
2,有无必要用多线程?
3,android绘图有没有层的概念,或者类似windows里面的Z轴之类的东西?

如果将上面的功能视作一个任务,在一个任务的执行过程中可能有一个或多个优先级高的播放任务需要启动(类似于中断,并指定了启动的时间),问题有三:
4,是否可以用多个定时器触发任务执行?
5,定时器触发的任务之间是单线程还是多线程的?
6,如果使用一个线程每秒轮询的方式检查播放任务是不是效率会比定时器糟糕?

谢谢大神们指点。也欢迎除上面的问题之外的任何建议,会另开贴100分
[解决办法]
3.据我所知,android有z-order这个东西。但是不太好用。

而且,surfaceView只支持两层的z-order。原来在一个帖子里看过。
1.所以说一般要是涉及到遮盖问题,叠层问题,不推荐选择surfaceView(这个出自一个外国网站。但是时间长忘了。有个人说的,不知道有没有权威性)。

2.多线程是为了解决并发处理这种问题,很符合你的设计需求,很有必要用多线程。而如果你只是想提高cpu速度的话,多线程就没有这种效果了。

4-5.定时器没怎么用过。

6.我觉得这种方式很暴力,性能应该不会太好。。涉及到触发任务的问题,应该考虑用广播。
[解决办法]
4,是否可以用多个定时器触发任务执行?
---可以使用,但是不建议使用多个;可以考虑使用顺序执行

5,定时器触发的任务之间是单线程还是多线程的?
---个人觉得用单线程比较靠谱
6,如果使用一个线程每秒轮询的方式检查播放任务是不是效率会比定时器糟糕?
——能否考虑使用观察者模式

以上纯个人意见

读书人网 >Android

热点推荐