使用XCode Instruments检测泄漏我看到多个泄漏的TOCImport
个对象(48个字节)。
我知道ARC负责在本机iOS(Objective C)端和Delphi端发布对象,但OCwrapper类介于两者之间。
例如,我使用此函数来简化UIImageView的创建:
function iosUIImageView(aUIImage: UIImage): UIImageView;
begin
result := TUIImageView.Wrap(TUIImageView.Wrap(TUIImageView.OCClass.alloc).initWithImage(aUIImage));
end;
关闭应用时,会泄漏TOCImport
个对象。
避免这种泄漏的最佳方法是什么?
答案 0 :(得分:0)
我发现只有放在一个函数中才会发生。调用相同的代码而不是通过函数调用似乎没有泄漏TOCImport对象:
LUIIMageView := TUIImageView.Wrap(TUIImageView.Wrap(TUIImageView.OCClass.alloc).initWithImage(aUIImage));
然后我尝试将inline
添加到该函数中,并且似乎也解决了问题,至少在某些情况下。这种行为看起来不可预测,我不知道发生了什么。