在 Android 中记录快速更新数据的最佳方式是什么?
在我的具体示例中,我试图在(加速) onSensorChanged 触发时记录各种数据花絮,这经常发生。一些快速处理和显示很好,但更多(绘图或记录数据)会使它变得相当慢。值得注意的是,我将其存储在变量中而不是归档。
建议您在 onSensorChanged 中尽可能少做,所以我尝试了以下操作:
- 在一个
IntentService
:获取您要记录的其余数据并将其全部存储在一个变量中。结果:即使意图服务在其自己的线程中执行,一次也只能运行一个。因此,数据进入的速度似乎比处理它的速度要快,最终会出现一长串要处理的数据,从而产生一个长而恒定的 GC_FOR_ALLOC 流。最终使它成为一个糟糕的选择 - 在
AsyncTask
获取要记录的额外数据,然后开始将其IntentService
记录到变量中。 结果:和上面差不多。
总体而言,这两种方法的性能实际上都比仅在 onChanged 中进行额外的数据获取和记录要差得多,并且消耗的功率要多得多。我还没有找到任何关于快速数据存储的具体建议。缓冲区或缓存可能更有效吗?