MonoTouch で UIActivityViewController を使用しようとしています。コードの下に表示されます。私の問題は、(monotouch メモリ プロファイラーによると) コードがリークしており、View Controller を表示するたびに読み込まれる画像が原因で大量のメモリを使用していることです。私は解決策を実装しようとしました:
NSArray* excludeActivities ARC を使用して nil に設定してもメモリ リークが発生する
UIPopoverController で表示される UIActivityViewController のメモリ リークを修正する方法
アクティビティビューコントローラーと画像を完了ハンドラーに配置しますが、常に同じ問題があります。誰かが同じ問題を抱えていて、解決策を見つけましたか?
void OnButtonClicked(object sender, EventArgs e)
{
UIImage image = UIImage.FromFile("imagePath");
NSObject[] activityItems = new NSObject[] {
new NSString("text"),
image
};
UIActivityViewController activityController = new UIActivityViewController(activityItems, null);
activityController.ExcludedActivityTypes = new NSString[] {UIActivityType.Message};
activityController.CompletionHandler = (activityType, completed) =>
{
activityController.ExcludedActivityTypes = null;
activityController.Dispose();
activityController = null;
image.Dispose();
image = null;
};
this.NavigationController.PresentViewController(activityController, true, () => {});
}