Xamarin.iOS coreML在后台模式下获取预测空引用错误

时间:2018-02-27 18:37:25

标签: ios xamarin xamarin.ios coreml

model.GetPrediction方法在iOS应用程序以后台模式运行时返回null对象。当app在前台时,该方法返回正确的预测。还有其他人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:2)

一些事情:

当应用为Backgrounded时,您执行任意代码的时间非常有限。

  • 您可以查看BackgroundTimeRemaining以确定您还剩多少时间。
  • 您必须在BeginBackgroundTask操作
  • 内执行预测

前景应用程序(包括Springboard)优先于GPU。

  • 不会中断前景应用GPU处理以执行基于后台任务的预测。

  • 您可以通过向预测电话提供UsesCpuOnly来请求使用CPU(MLPredictionOptions)的预测。

  

如果您的模型可能在后台运行,或者您的应用还有其他GPU密集型任务,那么您的模型应该仅限于CPU

re:https://developer.apple.com/documentation/coreml/mlpredictionoptions/2921288-usescpuonly?language=objc