ionic后退造成的闪退解决方案
2017-07-10 12:59
169 查看
闪退问题造成的原因,经过试验分析,结果发现是历史记录和ionic内部的缓存机制造成的。如果设置启用缓存机制,那么一些路由就会被记录在历史记录中,但有些模块未启用缓存机制,无法正常跳转,于是在返回的时候,造成了无法识别上一页,造成了闪退。适用 v.1.3.2 版本,仅供参考。
举例在首页模块的controller中添加视图事件,关键代码如下:
如上代码,
通过上述方法,问题解决。
后退实现的机制
分平台来实现,关键代码:// 返回功能 function back() { $ionicViewSwitcher.nextDirection('back'); ionic.Platform.isIOS() ? $ionicHistory.goBack() : $ionicNativeTransitions.goBack(); // 分平台处理 }
设置清理功能
在tab栏的每个根节点的模块下,比如tab栏下的首页,分类,广场,个人这些模块,如下:举例在首页模块的controller中添加视图事件,关键代码如下:
// 添加视图事件 $scope.$on('$ionicView.beforeEnter', function(){ $ionicHistory.clearHistory(); });
测试并添加最后解决方案
测试是否还存在因后退而闪退功能,如果还存在问题,检查出现问题的页面,关闭view层的缓存机制。<ion-view cache-view="false"></ion-view>
如上代码,
cache-view属性设置为
false
通过上述方法,问题解决。
相关文章推荐
- 混淆 eclipse 环境不同造成打包不成功或者部分页面闪退问题,实践解决方案
- AutoCAD 启动闪退:许可证信息错误--解决方案
- Ubuntu 14.04 64位 eclipse 代码提示场景下闪退解决方案
- eclipse在loading workbench时闪退的解决方案
- 服务器Tomcat 闪退问题解决方案
- SQL Server Install Setup files 之后闪退问题终极解决方案
- ionic 加载html解析错误的解决方案
- Linux下GLIBCXX和GLIBC版本低造成的编译错误的解决方案
- ajax后退解决方案(四)
- Qt creator工程项目移植时因环境变换造成qmake错误的解决方案
- Struts2框架缺陷造成的远程执行漏洞-解决方案
- iOS中CollectionView由于多次点击造成错误的解决方案
- 清除浮动造成的影响的解决方案总结
- ionic开发常见问题及解决方案(三)
- 详述 MySQL 数据库输入密码后闪退的问题及解决方案
- tomcat7启动startup闪退的解决方案
- Windows下Zookeeper启动zkServer.cmd闪退问题的解决方案
- HttpWebRequest中GetResponse或者说GetRequestStream偶尔超时,或者是各种操作超时造成的假死的一些解决方案
- Android7.0下调用相机闪退的解决方案
- 上传文件超过限制,造成长时间无响应的解决方案