簡體   English   中英

快速多次推送和彈出視圖控制器會導致崩潰

[英]Pushing and popping a view controller fast many times crashes

我有一個視圖控制器A,其中有很多項目供用戶選擇。 用戶可以按下它,這將推動另一個視圖控制器B。然后,用戶可以返回到所選擇的其他項目。

90%的時間都可以,但是如果用戶運行速度很快,並且很多時候都這樣做,則應用程序崩潰並顯示錯誤消息:

“由於內存錯誤而終止”

這個視圖控制器B是一個很大的控制器,所以我不能真正發布任何代碼,但是我檢查了保留的對象,沒有運氣導致內存泄漏。 我的理論是垃圾收集器無法跟上步伐,因此我可能不得不在對象周圍包裹一個@autoreleasepool

您有什么好主意/做法嗎?

更新:

嘗試做這個。 拿一個隨機視圖控制器並添加它

MKMapView *mapView = [[MKMapView alloc]initWithFrame: CGRectMake(100, 100, 500, 500)];
[self.view addSubview:mapView];

推動並彈出該視圖控制器。 重復大約15次,該應用將崩潰。

我通過添加后退按鈕解決了該問題,並在按下此按鈕時手動刪除了地圖視圖和參考。 我本來希望iOS能自動執行此操作,但這似乎對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM