由于每个帧上的GC Malloc调用,Camera.Preview回调是否效率低下?

时间:2012-09-24 12:49:01

标签: android garbage-collection android-camera

当Camera.preview回调运行时,每个帧都会调用GC Malloc。我假设这增加了myframe速度的缓慢。

有没有人对减少这些电话的方法有任何建议。我尝试在谷歌群组上搜索,似乎没有太多回复,所以我想从他们的应用程序中构建和使用相机预览的人那里获取信息。

在调用GC Malloc时,似乎每次都会使用一段新数据来保存帧。这可以预先定义吗? - 这是callbackwithBuffer的作用吗?我一直无法理解这个并且无法正确地使用缓冲区实现回调,因此任何有关如何执行此操作的帮助将不胜感激。

也可以有人完全解释当相机预览运行时帧内存会发生什么。

先谢谢。

1 个答案:

答案 0 :(得分:1)

你遇到的问题是在旧版本的android中存在问题,其中内存被分配并在短时间内收集垃圾,从而导致性能瓶颈。

可在此处找到解释:http://code.google.com/p/android/issues/detail?id=2794

您的问题可以通过使用一些隐藏的方法来解决。但是,您需要使用反射来公开它们(错误链接还有其他示例)。

如果我没记错的话,这个问题已经在Froyo修复了。