垃圾短信过滤-开发日记-扩展太内存导致被kill

exceeded mem limit: ActiveHard 16 MB

killed by jetsam reason per-process-limit

app在两个测试手机上表现得不太一样,在iPhone 6s plus上能过滤很多垃圾短信,在iPhone x上则只能过滤掉使用关键词匹配到的垃圾短信,漏掉了很多垃圾短信。这些垃圾短信我复制到app内部做检测,它们又能被识别成垃圾短信,这个现象就很奇怪。

于是我准备调试一下extension。调试的时候每次都在初始化数据库的时候就进入了一个奇怪的死循环一样,一直不能继续执行到后面的代码,一直卡在访问container里的数据库文件那个方法里。

断点调试这个方法不行,那我就不调试了。去Console里看时时日志。结果真的发现了一些异常。

使用extension得bundle id过滤log,发现有几个error log,文章开头的那种。看样子是内存占用超过了extension的上限了。

现在最有可能的原因就是我加载了两个机器学习模型到内存中,一个压缩后2MB,另一个才160kB,就是不知道模型加载到内存中会占多少内存,所以之后要看看如何精简一下模型了

amadman
amadman

iOS,macOS,Web,STM32,Unity3D,Blender,ML,AI

Articles: 12