在上篇文章中,分析了Service Timeout的过程。这篇文章将继续分析ContentProviderClient Timeout的流程。当使用ContentProviderClient执行Provider相关操作时,会设定一个超时时间,如果在指定的超时时间内,没有完成操作,则会产生一个ANR。ContentProviderClient Timeout整体的流程如下:
1.acquireUnstableProviderOrThrow方法(DocumentsApplication.java)
在com/android/documentsui/DocumentsApplication.java类中
/*
* 获取ContentProviderClient实例
*/
public static ContentProviderClient acquireUnstableProviderOrThrow(
ContentResolver resolver, String authority) throws RemoteException {
final ContentProviderCl