Android源码修改:apache的class预加载改进
改进前:
/** * The factory using the default JVM settings for secure connections. */ private static final SSLSocketFactory DEFAULT_FACTORY = new SSLSocketFactory(); /** * Gets an singleton instance of the SSLProtocolSocketFactory. * @return a SSLProtocolSocketFactory */ public static SSLSocketFactory getSocketFactory() { return DEFAULT_FACTORY; }
改进后:
/* * Put defaults into holder class to avoid class preloading creating an * instance of the classes referenced. */ private static class NoPreloadHolder { /** * The factory using the default JVM settings for secure connections. */ private static final SSLSocketFactory DEFAULT_FACTORY = new SSLSocketFactory(); } /** * Gets an singleton instance of the SSLProtocolSocketFactory. * @return a SSLProtocolSocketFactory */ public static SSLSocketFactory getSocketFactory() { return NoPreloadHolder.DEFAULT_FACTORY; }