android开发笔记之网络异常-创新互联

在开发android网络程序的时候遇到一个bug,非常简单的一个apk,调用了socket与ServerSocket的应用,在打印bug的时候发现是android.os.networkonmainthread,这个错误主要是因为考虑到连接网络时可能造成整个程序的阻塞,解决这个问题的方法很简单,主要有两种方法,一是采用一种strictmode,这种方法我在某个示例程序里看到过,当时也没有细看,现在想到这个东西,

创新互联专业为企业提供华州网站建设、华州做网站、华州网站设计、华州网站制作等企业网站建设、网页设计与制作、华州企业网站模板建站服务,10年华州做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()

     .detectDiskReads()

     .detectDiskWrites()

     .detectNetwork()  // or .detectAll() for all detectable problems

     .penaltyLog()

     .build());

//设置虚拟机的策略

 StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()

    .detectLeakedSqlLiteObjects()

    //.detectLeakedClosableObjects()

    .penaltyLog()

    .penaltyDeath()

    .build());

其实当时那个简单的程序在服务器没有开的时候点击登录会造成假死,也就是说整个程序阻塞在那里,我们采用这个strictmode,不过是告诉它我们知道这个情况会发生,而且我们不在意,但是这种方法显然是不可行的,在网络开发中多线程的手段是必不可少的,所以采用多线程才是解决这个问题的方法。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:android开发笔记之网络异常-创新互联
文章分享:http://bzwzjz.com/article/dshdos.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站制作公司 网站设计公司 攀枝花网站设计 成都网站制作 企业网站设计 成都网站建设公司 营销型网站建设 成都网站制作 自适应网站设计 企业网站设计 app网站建设 成都网站制作 网站建设费用 成都网站建设 成都响应式网站建设 成都网站建设 成都网站建设 营销型网站建设 品牌网站建设 成都网站建设 成都网站建设公司 成都网站建设流程