iOS根视图切换,释放内存,以及推送界面跳转(iOS多语言切换语言处理,也请看此处)

刚开始做开发的时候,在AppDelete方法设置根目录后,用户的登录,退出,所有操作都是最普通的界面跳转方式,以至于,由于根视图的存在,造成的内存溢出一直没有被发现。做出来之后,发现身边的一些朋友,也都没有对这一块做出特殊处理,所以写一下关于这方面的内容,供大家参考。

使用arc的可以这样处理:

AppDelegate *app = (AppDelegate *)[UIApplication sharedApplication].delegate;

app.window.rootViewController = [[LoginMainViewController alloc] initWithNibName:@"LoginMainViewController" bundle:nil];;

需要使用(AppDelegate *)强转

如果是使用MRC的,就不需要进行强转了


关于推送收到消息,界面跳转的问题:

收到消息,然后使用上图的方法,第一行,获取根视图,然后使用第二行,获取压栈的所有视图。如果是在当前页面,就不需要进行跳转了。否则进行界面跳转

(这里本人是做了处理,可以确定根视图是这个,否则不会执行这一部,首先,如果是在登录界面,那么就没必要执行这个方法了。其他界面,根视图,基本是以mainView为主的)

这一块只是简单的实现了,内存溢出暂未发现,如果有什么问题,还望大家提出来。

你可能感兴趣的:(iOS开发)