假设我有一个服务(在一个单独的过程中)需要分配大内存文件(本机中为数百MB),并且该服务在设备电源循环期间被破坏并再次创建了多次,是否有建议的方法避免在每次创建/销毁服务时分配/取消分配此内存文件?
我不想让服务一直在分配/重新分配该内存,因为它可能以oom结尾,当内存因页面内部碎片而碎片化时(我是对的,否则就不会发生,或者无论如何都会获得oom,但在其他地方?)。
一种选择是在我刚启动一次的同一进程中创建第二个服务,然后在无论如何都需要终止进程时停止。该服务将创建内存文件,并与实际上需要它的第二个服务共享它的文件描述符。
第二个选项是使用静态内存文件,但是当服务被销毁时(可能我知道空进程可能会在任何时候被android OS终止),并且释放内存,这可能会终止于进程。