Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 由于在每一帧上调用GC Malloc,Camera.Preview回调是否效率低下?_Android_Garbage Collection_Android Camera - Fatal编程技术网

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

Android 由于在每一帧上调用GC Malloc,Camera.Preview回调是否效率低下?,android,garbage-collection,android-camera,Android,Garbage Collection,Android Camera,运行Camera.preview回调时,会在每一帧上调用GC Malloc。我假设这会增加我帧速率的缓慢 有人对如何减少这些电话有什么建议吗。我曾尝试在谷歌群组上搜索,但似乎没有太多回应,所以我想从在应用程序中构建和使用摄像头预览的人那里获取信息 在调用GC Malloc时,似乎每次都在使用一段新数据来保存一个帧。这可以预先定义吗?-callbackwithBuffer就是这样做的吗?我很难理解这一点,并且无法正确地使用缓冲区实现回调,因此如果您能提供帮助,我们将不胜感激 也有人可以充分解释一下

运行Camera.preview回调时,会在每一帧上调用GC Malloc。我假设这会增加我帧速率的缓慢

有人对如何减少这些电话有什么建议吗。我曾尝试在谷歌群组上搜索,但似乎没有太多回应,所以我想从在应用程序中构建和使用摄像头预览的人那里获取信息

在调用GC Malloc时,似乎每次都在使用一段新数据来保存一个帧。这可以预先定义吗?-callbackwithBuffer就是这样做的吗?我很难理解这一点,并且无法正确地使用缓冲区实现回调,因此如果您能提供帮助,我们将不胜感激

也有人可以充分解释一下,当相机预览运行时,内存中的帧会发生什么


感谢高级版。

您遇到的问题是旧版android的一个问题,在旧版android中,内存在短时间内分配和垃圾收集会导致性能瓶颈

可在此处找到解释:

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


如果我没记错的话,这个问题已经在Froyo中解决了

在旧版本的android中,内存在短时间内分配和垃圾收集会导致性能瓶颈

可在此处找到解释:

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


如果我没记错的话,这个问题已经在Froyo中解决了

嗯。。。这个bootleneck也出现在我的Android 4.3和4.4(Google Nexus 4)中。。。使用opencv,我可以在不进行任何处理的情况下获得大约10 fps的速度,只需返回接收到的帧。也许我应该试试setPreviewWithBuffer。。。你觉得怎么样?嗯。。。这个bootleneck也出现在我的Android 4.3和4.4(Google Nexus 4)中。。。使用opencv,我可以在不进行任何处理的情况下获得大约10 fps的速度,只需返回接收到的帧。也许我应该试试setPreviewWithBuffer。。。你怎么认为?