Delphi XE8开发FMX 的App,IOS持续使用一段时间程序被系统杀了。。什么原因??

程序主要用于数据库查询,有40个Form,在安卓里是完全没问题的,但是到ios里就会闪退。delphi官方说一套代码,多平台通用,结果悲剧了。检查代码,感觉没有错误,在安卓下一只查询数据也不会闪退。可到了Iphon6上,刚开始没问题,多查询几次就会闪退,郁闷死我了。后来以为窗体太多是不是太占内存,就改代码,除了主窗体,其他窗体一律动态创建,关闭窗体时候马上Free;Clientdataset也一样,过程中创建,用完Free。结果一样会闪退。在xcode的instruments上观察程序内存变化,发现一个规律,就是只要Form创建之后Show出来,内存就会疯涨!关闭Form时候什么Free,FreeAndNil,DisposOf全试了个遍,内存丝毫不减。一直到内存涨到1.5G时候,程序被IOS强制干掉了——闪退。找许多人各种问无果。所以前来CSDN求助。希望有大神赐教,让小生死也瞑目。。。

5个回答

一个主form,其它用Frame

肯定是内存泄露了,你有没有及时释放数据

内存泄露 楼主 我觉得是你没释放掉 你看里面创建新的对象 没有释放了么 还是产生循环引用 无法释放了

XE声称Android和IPhone代码共用,但毕竟二者的运行机制不一,两个不同的系统。
它是通过Delphi代码,分别生成不同操作操作系统的App。
这说明XE8还不完整,等待新的版本吧。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问