Android4.0 以后 的网络访问和 数据同步问题

很久没有玩android的 最近回来玩了一下。 发现4.0以后的网络访问有点办法了。 api中加入了严格控制,虽然从理论上说这些都是正确的。 不过有写控制。和一些应用上面做网络操作就不方便了。 后来查了一下自来。   百度和google都基本上就3种 方法  不过都不怎么好,请大牛说说自己在网络访问控制方面上来说说自己的心得,最好了贴一些代码  谢谢。

第一方法。

@SuppressLint("NewApi")
protected void onCreate(Bundle savedInstanceState) {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()       
        .detectDiskReads()       
        .detectDiskWrites()       
        .detectNetwork()   // or .detectAll() for all detectable problems       
        .penaltyLog()       
        .build());       
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()       
        .detectLeakedSqlLiteObjects()    
        .penaltyLog()       
        .penaltyDeath()       
        .build());  

代码中加入这么一段注释, 可以在主线程访问网络,  难道以后没一个activity里面都加入? 不是很麻烦,每次都需要执行这段代码不是效率不好?


第二个说话

使用AsyncTask  来做一步操作  虽然可以, 不过我自己动手做实验的时候发现加载的图片多的时候会有一些问题  加载慢,而且能不能出来都不一定确定,  而且没一个网络连接  都需要实现一个AsyncTask类,这样会产生很多对象 ,效率不好,而且 控制起来不方便,有没有出来,什么时候出来都不知道, 比如我做一个视频软件 要加载列表的时候,肯定希望用最快速度加载了, 不能到了界面,半天看不到列表吧。

第三个说话 自己写线程,

不过这里的话,自己写线程,对界面的view'做操作又要回到原始线程,虽然用办法来做也行,不过感觉很不好处理, 不方面。



所以请大牛说说在网络控制这块的心得。  一般加载图片怎么处理(这个可以异步处理)  还有加载列表如QQ人物列表,微信信息列表等(一般同步等待刷新),怎么处理。

你可能感兴趣的:(Android4.0 以后 的网络访问和 数据同步问题)