1. 程式人生 > >退出AndroidStudio時卡死

退出AndroidStudio時卡死

最近經常遇到退出AndroidStudio的時候卡死,本身電腦配置不算低,而且開啟時候不會卡,正常使用包括Build的時候也不會卡,就只有退出的時候會卡死。百度、google都沒找到我這樣的情況。。。
那隻能自己解決了,先是嘗試將gradle部署等放在本地,發現無效。。。修改VM記憶體大小,使用時速度是會變快一點,但還是沒辦法解決退出時卡死的問題。沒辦法,只好看日誌了,可以通過Help->Show Log in Explorer 看到AndroidStudio的日誌。
我們看下AndroidStudio在退出的時候究竟做了什麼事情

2017-11-16 16:17:48,512 [d thread 3
] INFO - ateSettings.impl.UpdateChecker - Malformed reply from SOCKS server java.net.SocketException: Malformed reply from SOCKS server at java.net.SocksSocketImpl.readSocksReply(SocksSocketImpl.java:129) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:459) at java.net.Socket
.connect(Socket.java:589) at sun.net.NetworkClient.doConnect(NetworkClient.java:175) at sun.net.www.http.HttpClient.openServer(HttpClient.java:432) at sun.net.www.http.HttpClient.openServer(HttpClient.java:527) at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264
) at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1181) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338) at com.intellij.util.io.HttpRequests.openConnection(HttpRequests.java:511) at com.intellij.util.io.HttpRequests.access$300(HttpRequests.java:61) at com.intellij.util.io.HttpRequests$RequestImpl.getConnection(HttpRequests.java:289) at com.intellij.util.io.HttpRequests$RequestImpl.getInputStream(HttpRequests.java:298) at com.intellij.util.io.HttpRequests$RequestImpl.getReader(HttpRequests.java:316) at com.intellij.util.io.HttpRequests$RequestImpl.getReader(HttpRequests.java:309) at com.intellij.openapi.updateSettings.impl.UpdateChecker$checkPlatformUpdate$1.process(UpdateChecker.kt:182) at com.intellij.openapi.updateSettings.impl.UpdateChecker$checkPlatformUpdate$1.process(UpdateChecker.kt:68) at com.intellij.util.io.HttpRequests.lambda$doProcess$0(HttpRequests.java:420) at com.intellij.util.net.ssl.CertificateManager.runWithUntrustedCertificateStrategy(CertificateManager.java:349) at com.intellij.util.io.HttpRequests.doProcess(HttpRequests.java:420) at com.intellij.util.io.HttpRequests.process(HttpRequests.java:395) at com.intellij.util.io.HttpRequests.access$100(HttpRequests.java:61) at com.intellij.util.io.HttpRequests$RequestBuilderImpl.connect(HttpRequests.java:263) at com.intellij.openapi.updateSettings.impl.UpdateChecker.checkPlatformUpdate(UpdateChecker.kt:180) at com.intellij.openapi.updateSettings.impl.UpdateChecker.doUpdateAndShowResult(UpdateChecker.kt:125) at com.intellij.openapi.updateSettings.impl.UpdateChecker.access$doUpdateAndShowResult(UpdateChecker.kt:68) at com.intellij.openapi.updateSettings.impl.UpdateChecker$updateAndShowResult$1.run(UpdateChecker.kt:94) at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:334) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

原來是因為socks代理的原因,之前因為牆的原因設了本地socks代理,但是18+1大之後牆升級了,之前購買的vps不能用了。。。然後AndroidStudio退出的時候回去請求資料,socks代理返回的資料有問題,就阻塞到這裡不動了。。。MDZZ
File>Settings>Appearance&&Behavior>System Settings>HTTP Proxy中將代理更改為No Proxy,就可以正常退出了。
所以。。。。遇到bug要先看日誌啊,可以省很多時間。。。。