Java Android Sax解析器HttpClient与Url有什么区别

Java Android Sax解析器HttpClient与Url有什么区别,java,android,sax,saxparser,Java,Android,Sax,Saxparser,大家好,我是Android开发的新手 我想知道以这种方式将流传递给解析器是否有任何区别 SAXParserFactory saxPF = SAXParserFactory.newInstance(); SAXParser saxP = saxPF.newSAXParser(); XMLReader xmlR = saxP.getXMLReader(); URL url = new URL("http://www.xmlfiles.com/examples/cd_catal

大家好,我是Android开发的新手

我想知道以这种方式将流传递给解析器是否有任何区别

   SAXParserFactory saxPF = SAXParserFactory.newInstance();
   SAXParser saxP = saxPF.newSAXParser();
   XMLReader xmlR = saxP.getXMLReader();
   URL url = new URL("http://www.xmlfiles.com/examples/cd_catalog.xml"); // URL
   XMLHandler myXMLHandler = new XMLHandler();
   xmlR.setContentHandler(myXMLHandler);
   xmlR.parse(new InputSource(url.openStream()));
   HttpClient httpclient = new DefaultHttpClient();
   HttpGet httpget = new HttpGet("http://www.xmlfiles.com/examples/cd_catalog.xml"); 
   HttpResponse response = httpclient.execute(httpget);
   HttpEntity entity = response.getEntity();
   SAXParserFactory saxPF = SAXParserFactory.newInstance();
   SAXParser saxP = saxPF.newSAXParser();
   XMLReader xmlR = saxP.getXMLReader();
   XMLHandler myXMLHandler = new XMLHandler();
   xmlR.setContentHandler(myXMLHandler);
   xmlR.parse(new InputSource(entity.getContent()));
还是这样

   SAXParserFactory saxPF = SAXParserFactory.newInstance();
   SAXParser saxP = saxPF.newSAXParser();
   XMLReader xmlR = saxP.getXMLReader();
   URL url = new URL("http://www.xmlfiles.com/examples/cd_catalog.xml"); // URL
   XMLHandler myXMLHandler = new XMLHandler();
   xmlR.setContentHandler(myXMLHandler);
   xmlR.parse(new InputSource(url.openStream()));
   HttpClient httpclient = new DefaultHttpClient();
   HttpGet httpget = new HttpGet("http://www.xmlfiles.com/examples/cd_catalog.xml"); 
   HttpResponse response = httpclient.execute(httpget);
   HttpEntity entity = response.getEntity();
   SAXParserFactory saxPF = SAXParserFactory.newInstance();
   SAXParser saxP = saxPF.newSAXParser();
   XMLReader xmlR = saxP.getXMLReader();
   XMLHandler myXMLHandler = new XMLHandler();
   xmlR.setContentHandler(myXMLHandler);
   xmlR.parse(new InputSource(entity.getContent()));
第二个有什么优势吗?这两个选项中哪一个使用更少的内存?

根据此链接()Android开发团队更喜欢在执行http/https操作时使用JavaSE http/https选项,而不是使用Apache HttpClient库。这是因为ApacheHttpClient库功能丰富,因此比java.net包更重。但是JavaSE的后续版本包含http/https特性,这些特性仍然是轻量级和高效的

除此之外,我个人认为Android开发人员更愿意离开Apache库,因为Apache不断增加内容,并不断否定可能会给开发团队带来额外开销的功能

要回答您的问题,第一个选项是Android团队希望您使用的方式