android - 当应用程序离开后台并返回 iOS 和 Android 时,WebView 正在重新加载?

标签 android ios objective-c webview android-webview

我有一个小应用程序,仅包含一个 WebView 。我正在使用 url 加载 webview。但是当我的应用程序离开后台并返回时,webview 正在重新加载,对我来说它不应该发生。当应用程序在 iOS 和 Android 中进入后台时如何停止 webview 重新加载。

注意: safari(iOS) 和 chrome(Android) 都使用相同的 url 处理该事件,即使它们已进入后台。他们没有重新加载 WebView 或数据。

这是我的代码,我还需要添加什么吗:

iOS:

NSURL* url = [NSURL URLWithString:ip];
[webView loadRequest:[NSURLRequest requestWithURL:url]];

安卓:

 String url = "http://"+ip+":8081";
 webView.loadUrl(url);

最佳答案

App重新加载有多种原因。

安卓

如果每当 Activity 进入 stop 状态并且设备内存小于进程被杀死,内存被分配给高优先级的应用程序。返回时它从 oncreate() 方法恢复,这里不仅重新加载了 webView,而且重新加载了整个应用。

如果您的 activity 处于 stop 状态并且用户对其进行导航,那么它将从 onRestart() 开始,它不会触及onCreate 但会通过 onStart() ,您的应用不会重启,但您放入 onstartonResume 的内容.

基本上,您必须为此了解 Activity 状态,这是一个链接。 https://developer.android.com/reference/android/app/Activity.html

iOS: 同样的事情发生在 iOS 上,但以不同的方式发生,而且很少发生,但我从来没有遇到过这个问题,因为与 Android 设备相比,设备内存会很好。

ViewDidLoad() 中加载您的 webView 而不要在 ViewDidAppear()ViewWillAppear() 中加载它,因为后两种方法将被频繁调用,第一个在应用程序加载时被调用。

注意:您的 Webview 不会由您的代码自动重新加载,它的重新加载是由于上述任何一种原因。

希望本文档对您有所帮助。

关于android - 当应用程序离开后台并返回 iOS 和 Android 时,WebView 正在重新加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38393731/

相关文章:

android - 在 Android Studio 中创建图片资源

ios - 以编程方式更改自定义 UiButton 背景颜色

ios - 编辑期间移动到另一个 View 时 UITextView 问题

iOS 8 – 创建临时的 NSManagedObjects

java - 将 AES key 安全地存储在 Android 设备中

android - 使用 Visual Studio 2015 创建 apk 文件

android - 删除与 android.location 方法相关的 @Override 注解

iOS 在 App Bundle 中打开 iBook 文件

ios - ios 中需要左值作为赋值的左操作数

objective-c - 将可点击的 URL 添加到我的 Cocoa View - 我做错了吗?