Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/android/webkit/WebViewRenderProcessClient#pubctors) \| [Methods](https://developer.android.com/reference/android/webkit/WebViewRenderProcessClient#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/webkit/WebViewRenderProcessClient#inhmethods)

# WebViewRenderProcessClient

*** ** * ** ***

` public abstract class WebViewRenderProcessClient `   
` extends https://developer.android.com/reference/java/lang/Object ` ` `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.webkit.WebViewRenderProcessClient |

<br />

*** ** * ** ***

Used to receive callbacks on `https://developer.android.com/reference/android/webkit/WebView` renderer events. WebViewRenderProcessClient instances may be set or retrieved via `https://developer.android.com/reference/android/webkit/WebView#setWebViewRenderProcessClient(android.webkit.WebViewRenderProcessClient)` and `https://developer.android.com/reference/android/webkit/WebView#getWebViewRenderProcessClient()`. Instances may be attached to multiple WebViews, and thus a single renderer event may cause a callback to be called multiple times with different WebView parameters.

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/webkit/WebViewRenderProcessClient#WebViewRenderProcessClient()() ` |

| ### Public methods ||
|---|---|
| ` abstract void` | ` https://developer.android.com/reference/android/webkit/WebViewRenderProcessClient#onRenderProcessResponsive(android.webkit.WebView,%20android.webkit.WebViewRenderProcess)(https://developer.android.com/reference/android/webkit/WebView view, https://developer.android.com/reference/android/webkit/WebViewRenderProcess renderer) ` Called once when an unresponsive renderer currently associated with `view` becomes responsive. |
| ` abstract void` | ` https://developer.android.com/reference/android/webkit/WebViewRenderProcessClient#onRenderProcessUnresponsive(android.webkit.WebView,%20android.webkit.WebViewRenderProcess)(https://developer.android.com/reference/android/webkit/WebView view, https://developer.android.com/reference/android/webkit/WebViewRenderProcess renderer) ` Called when the renderer currently associated with `view` becomes unresponsive as a result of a long running blocking task such as the execution of JavaScript. |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.

## Public constructors

### WebViewRenderProcessClient

```
public WebViewRenderProcessClient ()
```

<br />

<br />

## Public methods

### onRenderProcessResponsive

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract void onRenderProcessResponsive (WebView view, 
                WebViewRenderProcess renderer)
```

Called once when an unresponsive renderer currently associated with `view` becomes responsive.

After a WebView renderer becomes unresponsive, which is notified to the application by `https://developer.android.com/reference/android/webkit/WebViewRenderProcessClient#onRenderProcessUnresponsive(android.webkit.WebView,%20android.webkit.WebViewRenderProcess)`, it is possible for the blocking renderer task to complete, returning the renderer to a responsive state. In that case, this method is called once to indicate responsiveness.

No action is taken by WebView as a result of this method call.

<br />

| Parameters ||
|---|---|
| `view` | `WebView`: The `https://developer.android.com/reference/android/webkit/WebView` for which responsiveness was detected. This value cannot be `null`. <br /> |
| `renderer` | `WebViewRenderProcess`: The `https://developer.android.com/reference/android/webkit/WebViewRenderProcess` that has become responsive, or `null` if WebView is running in single process mode. <br /> |

### onRenderProcessUnresponsive

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract void onRenderProcessUnresponsive (WebView view, 
                WebViewRenderProcess renderer)
```

Called when the renderer currently associated with `view` becomes unresponsive as a result of a long running blocking task such as the execution of JavaScript.

If a WebView fails to process an input event, or successfully navigate to a new URL within a reasonable time frame, the renderer is considered to be unresponsive, and this callback will be called.

This callback will continue to be called at regular intervals as long as the renderer remains unresponsive. If the renderer becomes responsive again, `https://developer.android.com/reference/android/webkit/WebViewRenderProcessClient#onRenderProcessResponsive(android.webkit.WebView,%20android.webkit.WebViewRenderProcess)` will be called once, and this method will not subsequently be called unless another period of unresponsiveness is detected.

The minimum interval between successive calls to `onRenderProcessUnresponsive` is 5 seconds.

No action is taken by WebView as a result of this method call. Applications may choose to terminate the associated renderer via the object that is passed to this callback, if in multiprocess mode, however this must be accompanied by correctly handling `https://developer.android.com/reference/android/webkit/WebViewClient#onRenderProcessGone(android.webkit.WebView,%20android.webkit.RenderProcessGoneDetail)` for this WebView, and all other WebViews associated with the same renderer. Failure to do so will result in application termination.

<br />

| Parameters ||
|---|---|
| `view` | `WebView`: The `https://developer.android.com/reference/android/webkit/WebView` for which unresponsiveness was detected. This value cannot be `null`. <br /> |
| `renderer` | `WebViewRenderProcess`: The `https://developer.android.com/reference/android/webkit/WebViewRenderProcess` that has become unresponsive, or `null` if WebView is running in single process mode. <br /> |