美文网首页工作生活
句柄泄露的问题(文章还在整理中,哇哇,太爽了)

句柄泄露的问题(文章还在整理中,哇哇,太爽了)

作者: 仕明同学 | 来源:发表于2019-07-03 15:08 被阅读0次

    我觉得就是这个原因导致的 谢谢爸爸

    https://github.com/square/okhttp/issues/2620

    image.png image.png image.png
    • 这个图中的描述有误
      这个图中的描述有误.png
    image.png image.png

    https://www.cnblogs.com/dongweiq/p/9494033.html

    image.png image.png image.png image.png

    https://www.jianshu.com/p/0fdd9d8ca6d0

    image.png

    https://www.xuding.info/2018/02/14/post602/

    image.png image.png
    java.lang.RuntimeException: Adding window failed
            at android.view.ViewRootImpl.setView(ViewRootImpl.java:509)
            at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:259)
            at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
            at android.app.Dialog.show(Dialog.java:286)
            at com.xfxb.paperless.weight.BaseDialog.show(BaseDialog.java:124)
            at com.xfxb.paperless.base.BaseImpShowDialogActivity.baseShowDialog(BaseImpShowDialogActivity.kt:57)
            at com.xfxb.paperless.base.BaseImpShowDialogActivity.showLoading(BaseImpShowDialogActivity.kt:24)
            at com.xfxb.paperless.mvp.presenter.MainPresenter.countProduceInfo(MainPresenter.kt:127)
            at com.xfxb.paperless.ui.MainActivity.numberOfRefreshedOrders(MainActivity.kt:295)
            at com.xfxb.paperless.ui.MainActivity.access$numberOfRefreshedOrders(MainActivity.kt:39)
            at com.xfxb.paperless.ui.MainActivity$initData$1.onItemClick(MainActivity.kt:422)
            at com.chad.library.adapter.base.BaseQuickAdapter.setOnItemClick(BaseQuickAdapter.java:987)
            at com.chad.library.adapter.base.BaseQuickAdapter$5.onClick(BaseQuickAdapter.java:966)
            at android.view.View.performClick(View.java:4453)
            at android.view.View$PerformClick.run(View.java:18514)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5001)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:736)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570)
            at dalvik.system.NativeStart.main(Native Method)
         Caused by: android.os.TransactionTooLargeException
            at android.os.BinderProxy.transact(Native Method)
            at android.view.IWindowSession$Stub$Proxy.addToDisplay(IWindowSession.java:683)
            at android.view.ViewRootImpl.setView(ViewRootImpl.java:498)
            at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:259) 
            at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69) 
            at android.app.Dialog.show(Dialog.java:286) 
            at com.xfxb.paperless.weight.BaseDialog.show(BaseDialog.java:124) 
            at com.xfxb.paperless.base.BaseImpShowDialogActivity.baseShowDialog(BaseImpShowDialogActivity.kt:57) 
            at com.xfxb.paperless.base.BaseImpShowDialogActivity.showLoading(BaseImpShowDialogActivity.kt:24) 
            at com.xfxb.paperless.mvp.presenter.MainPresenter.countProduceInfo(MainPresenter.kt:127) 
            at com.xfxb.paperless.ui.MainActivity.numberOfRefreshedOrders(MainActivity.kt:295) 
            at com.xfxb.paperless.ui.MainActivity.access$numberOfRefreshedOrders(MainActivity.kt:39) 
            at com.xfxb.paperless.ui.MainActivity$initData$1.onItemClick(MainActivity.kt:422) 
            at com.chad.library.adapter.base.BaseQuickAdapter.setOnItemClick(BaseQuickAdapter.java:987) 
            at com.chad.library.adapter.base.BaseQuickAdapter$5.onClick(BaseQuickAdapter.java:966) 
            at android.view.View.performClick(View.java:4453) 
            at android.view.View$PerformClick.run(View.java:18514) 
            at android.os.Handler.handleCallback(Handler.java:733) 
            at android.os.Handler.dispatchMessage(Handler.java:95) 
            at android.os.Looper.loop(Looper.java:136) 
            at android.app.ActivityThread.main(ActivityThread.java:5001) 
            at java.lang.reflect.Method.invokeNative(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:515) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:736) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570) 
            at dalvik.system.NativeStart.main(Native Method) 
    
    image.png
        Process: com.xfxb.paperless.prd.debug, PID: 7977
        java.lang.IllegalStateException: eglMakeCurrent failed EGL_BAD_MATCH
            at android.view.HardwareRenderer$GlRenderer.createSurface(HardwareRenderer.java:1361)
            at android.view.HardwareRenderer$GlRenderer.createEglSurface(HardwareRenderer.java:1248)
            at android.view.HardwareRenderer$GlRenderer.initialize(HardwareRenderer.java:1065)
            at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1555)
            at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1005)
            at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5609)
            at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
            at android.view.Choreographer.doCallbacks(Choreographer.java:574)
            at android.view.Choreographer.doFrame(Choreographer.java:544)
            at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5001)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:736)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570)
            at dalvik.system.NativeStart.main(Native Method)
    
    
    image.png

    https://www.jianshu.com/p/4fd1a0deddb0

    image.png image.png image.png image.png
    07-01 11:11:51.910 1922-4650/com.xfxb.paperless.prd.debug D/OkHttp: <-- END HTTP (146-byte body)
    07-01 11:11:51.920 1922-1922/com.xfxb.paperless.prd.debug I/System.out: shiming dismissLoading
    07-01 11:11:51.920 1922-1922/com.xfxb.paperless.prd.debug I/System.out: shiming RetrofitManager getServicecom.base.net.RetrofitManager@41aa1938
    07-01 11:11:51.940 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: --> POST https://rtapi-qa002.blissmall.net/apis/produce/shopApp/produceInfo/V1.0.0/homePage
    07-01 11:11:51.940 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: Content-Type: application/json; charset=UTF-8
    07-01 11:11:51.940 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: Content-Length: 127
    07-01 11:11:51.940 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: token: 1d55af6e-799e-4688-ba05-60c3c74b2101
    07-01 11:11:51.940 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: version: 1.0.0
    07-01 11:11:51.940 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: client-type: 4
    07-01 11:11:51.940 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: {"deliveryDate":"2019-06-29","storeId":"589118260356255744","produceEmployeeId":"593887005318524928","pageSize":12,"pageNum":1}
    07-01 11:11:51.940 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: --> END POST (127-byte body)
    07-01 11:11:51.960 165-16895/? E/BufferQueue: [com.xfxb.paperless.prd.debug/com.xfxb.paperless.ui.MainActivity] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
    07-01 11:11:51.960 1922-1922/com.xfxb.paperless.prd.debug E/Surface: dequeueBuffer failed (Invalid argument)
    07-01 11:11:51.960 1922-1922/com.xfxb.paperless.prd.debug E/ViewRootImpl: Could not lock surface
        java.lang.IllegalArgumentException
            at android.view.Surface.nativeLockCanvas(Native Method)
            at android.view.Surface.lockCanvas(Surface.java:247)
            at android.view.ViewRootImpl.drawSoftware(ViewRootImpl.java:2440)
            at android.view.ViewRootImpl.draw(ViewRootImpl.java:2414)
            at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2258)
            at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1888)
            at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1005)
            at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5609)
            at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
            at android.view.Choreographer.doCallbacks(Choreographer.java:574)
            at android.view.Choreographer.doFrame(Choreographer.java:544)
            at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5001)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:736)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570)
            at dalvik.system.NativeStart.main(Native Method)
    07-01 11:11:51.990 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: <-- HTTP FAILED: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
    07-01 11:11:51.990 173-173/? I/serial_port: not find dev
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:410)
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:319)
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:283)
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:168)
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:257)
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135)
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114)
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
    07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:225)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at com.base.net.RetrofitManager$addHeaderInterceptor$1.intercept(RetrofitManager.kt:139)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at okhttp3.RealCall.execute(RealCall.java:92)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at retrofit2.OkHttpCall.execute(OkHttpCall.java:186)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:45)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at io.reactivex.Observable.subscribe(Observable.java:12090)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at io.reactivex.Observable.subscribe(Observable.java:12090)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at java.lang.Thread.run(Thread.java:841)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:282)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at com.android.org.conscrypt.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:202)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at com.android.org.conscrypt.OpenSSLSocketImpl.verifyCertificateChain(OpenSSLSocketImpl.java:612)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:     at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:406)
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:  ... 40 more
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: Caused by: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
    07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter:  ... 45 more
    07-01 11:11:52.100 1922-1922/com.xfxb.paperless.prd.debug E/IMGSRV: :0: validate_handle: Invalid handle
    07-01 11:11:52.100 1922-1922/com.xfxb.paperless.prd.debug W/GraphicBufferMapper: lock(...) failed -22 (Invalid argument)
    07-01 11:11:52.100 1922-1922/com.xfxb.paperless.prd.debug W/Surface: failed locking buffer (handle = 0x0)
    07-01 11:11:52.100 1922-1922/com.xfxb.paperless.prd.debug E/ViewRootImpl: Could not lock surface
        java.lang.IllegalArgumentException
            at android.view.Surface.nativeLockCanvas(Native Method)
            at android.view.Surface.lockCanvas(Surface.java:247)
            at android.view.ViewRootImpl.drawSoftware(ViewRootImpl.java:2440)
            at android.view.ViewRootImpl.draw(ViewRootImpl.java:2414)
            at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2258)
            at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1888)
            at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1005)
            at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5609)
            at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
            at android.view.Choreographer.doCallbacks(Choreographer.java:574)
            at android.view.Choreographer.doFrame(Choreographer.java:544)
            at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5001)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:736)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570)
            at dalvik.system.NativeStart.main(Native Method)
    
    
    
    image.png

    定位这个Bug的那么久,到这里我可以说下这个Bug产生的问题流程:

    • 1.当我们不断的请求一个接口,我这里大概是1s三次左右

    • 2.某一次出现了这个错误HTTP FAILED: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.,在qa002环境

    • 3.就会导致出现OkHttp出现警告,DiskLruCache /data/data/com.xfxb.paperless.prd.debug/cache/cache is corrupt: /data/data/com.xfxb.paperless.prd.debug/cache/cache/journal: open failed: EMFILE (Too many open files), removing ,这个警告的意思就是说正在删除缓存问题,正在移除中

    • 4.往下进行就会报错没有找到文件,这是HTTP缓存机制,缓存对于移动端是非常重要的存在。减少请求次数,减小服务器压力.本地数据读取速度更快,让页面不会空白几百毫秒。在无网络的情况下提供数据。

    • 5.然后这就会参数异常 java.net.SocketException: socket failed: EMFILE (Too many open files),这个异常会抛出来,但是不会影响到程序的崩溃

    • 6.然后使用者不知道,又去点击下一次的网络请求,也会同样走上面的流程

    • 7.在安卓上就会ANR,程序就会崩溃

    • 8,解决办法,

      • 一:我在优化网络请求,
      • 二:如何避免请求抛出错误HTTP FAILED: javax.net.ssl.SSLHandshakeException:
    • 分析证据


      image.png
      image.png
      image.png

    [图片上传中...(image.png-886c17-1561983936449-0)]

    相关文章

      网友评论

        本文标题:句柄泄露的问题(文章还在整理中,哇哇,太爽了)

        本文链接:https://www.haomeiwen.com/subject/mvjbcctx.html