ios - Wie kann ich den vorherigen View Controller freigeben, nachdem ich den Root View Controller gewechselt habe?
扔个三星炸死你
扔个三星炸死你 2017-07-01 09:12:25
0
2
1273

Zum Beispiel: Der erste VC, der nach dem Start der APP eingegeben wird, ist der Root-View-Controller. Nach ein paar Sekunden springt er zur Homepage-VC Controller zur Homepage VC anzeigen. Da ich nicht mehr zur Werbe-VC zurückkehren muss, möchte ich die Werbe-VC freigeben. Gibt es eine Möglichkeit?
Studenten, die dieses Problem gelöst haben, werden es teilen.

扔个三星炸死你
扔个三星炸死你

Antworte allen (2)
给我你的怀抱

最早我测试过这种情况,这样的广告VC并不会被自动释放,也就是说一直占用着内存,不过相当少而已

你可以找到广告vc的指针变量,设为nil,此操作应在下一个界面出现之后再进行以避免视图突然变换

另一种,可以在广告vc的生命周期方法viewDidDisappear方法中,手动清除控件指针,如self.view = nil,广告的UIImageView控件,另外由于广告只需加载一次且是大图,最好使用contentsOfFile方式

    代言

    直接修改WindowrootController可以释放之前的广告VC.

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { _window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; _window.backgroundColor = [UIColor whiteColor]; _window.rootViewController = [ADViewController new]; [_window makeKeyAndVisible]; // 2.0秒后跳转到mainController dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ MainViewController *VC = [MainViewController new]; // 修改 rootViewController 后, ADViewController会释放 _window.rootViewController = VC; }); return YES; }
      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!