工作三天了,boss终于给我个任务让我做了,是我不是很擅长的android方面的一个bug修改。
话说工作第三天:
boss:客户说“这个显示框太难看了!”,你们要给他改好看一些。
缪:恩,好的。
。。。
我是个新人,当然轮不到我做什么客户必须要求做的了,可是他们都太忙了,发哥说,××,你也做过android开发,这个事儿,小缪太忙了,你看看能不能做出来!(敢不答应?敢说不好?)我说好,我尽快解决问题。
话了半个上午的哦时间终于把android开发平台搭建好,一看具体的问题,我离歌擦类!!!这不是传说中的anr么?要我改他的显示?!
Google是最好的老师,我不会,就虚心的想Google求教,好话说了一大堆,可是还不告诉我怎么办!![img]/images/smiles/icon_eek.gif" alt="[/img]
只会是不行的,还得解决问题,向一个android的茂才公求援,茂才公居然也不知道[img]/images/smiles/icon_surprised.gif" alt="[/img][img]/images/smiles/icon_confused.gif" alt="[/img].
只会更是不行的,还得解决问题啊!
根据对对象的理解:创建-->初始化---->使用 三个过程的理解,要是能够找到ANR警告框的这三个过程,然后修改一下显示,不就OK?[img]/images/smiles/icon_biggrin.gif" alt="[/img],找了好久终于还是没有找到![img]/images/smiles/icon_mad.gif" alt="[/img] 找不到,不能改!
既然不能改,那就不让你出来丢人现眼了。
于是,目标就转到代码优化上,根据茂才公的提示,弄了几个线程,居然还是频频出来献丑!!
那就看日志文件吧,看到头大然后又头小之后,发现是网络连接Timeout导致的anr,那就追踪吧,看到一个网络连接测试是否通畅的代码:
public static int checkNet(Context context) {
ConnectivityManager connectionManager = (ConnectivityManager) context
.getSystemService("connectivity");
NetworkInfo networkInfo = connectionManager.getActiveNetworkInfo();
if(networkInfo != null){
if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
return 1; //返回1是 WIFI网络
} else if (networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
return 2; //返回 2是移动互联网()
} else {
return 3; //返回3是 未知网络
}
}
else{
return 0;
}
}
看着,也没有问题啊,然后
仔细的看看,想,要是不能上互联网就不能连接这个程序了?开门了,还是比较眷顾努力工作的同学的。
发现问题之后就想怎么来更有效的来验证网络是否通畅,android自带的方法我竟然不知道,就用我知道的socket来解决问题,
/**
* 检查是否能够连接到特定的主机
* @param hostName 主机的 ip
* @param port 主机的 端口
* @return 是否能够连接成功
* 因为不知道timeout的时间设置为多少合适,这里就自作主张了
*/
public static boolean canConnection(String hostName,int port){
boolean connect =false;
Socket socket = new Socket();
try {
SocketAddress endpoint = new InetSocketAddress(hostName, port) ;
//这里可以设置检验的时间
int timeout = 100;//这个是自定义的
socket.connect(endpoint, timeout);
connect = socket.isConnected();
} catch (Exception e) {
connect = false;
//System.out.println("connection ioe");
}finally{
socket = null;
return connect;
}
}
到这里,anr终于被我管在家里了,不出来污染大家的美好环境里!
就是不知道我这样做是不符合boss的要求?没有用到美工,担心中。。。
分享到:
相关推荐
这个问题涉及到如何有效地分配一系列任务到多个可并行工作的机器上,以达到最大效率、最小化完成时间或达到其他优化目标。在这个场景中,我们有n个任务需要完成,而可用的计算资源是k台可以同时工作的机器。 最佳...
在这个场景中,"第六版更新"可能指的是一个经过多次迭代优化的任务管理软件或工具,它解决了以往版本中的问题,并引入了新的功能或性能改进。 "工作记事本"是一个常见的功能模块,它允许用户记录待办事项、会议纪要...
在第一个动态版本的基础上,使用JSTL/Sevelet/EL/JavaBean优化宠物分类展现的页面代码高版本MyEclipse创建的Web项目已自带,不用添加。 二、开发环境准备 在任务4的开发环境的基础上,下载包jstjar 和standardjar ...
cron-last-sunday 是一个用于 Linux 系统的实用工具,它扩展了标准的 cron 定时任务系统,允许用户在每月的第一个、第 n 个或最后一个工作日执行特定的 cron 任务。这个功能对于那些需要在特定工作日执行任务的自动...
有了她的帮助,您能够遵循“要事第一”的原则,对事情的轻重缓急一目了然。软件界面美观,简便易用,但同样功能强大。您可以设定任务的重要性;可以用不同的颜色标签来区别不同类别的任务;您甚至可以建立多级子任务...
总的来说,这个压缩包中的ASP源码提供了一个小型工作任务管理系统的实现,对于学习ASP、Web开发或者需要搭建简单任务管理平台的开发者来说,是一个有价值的资源。通过研究和理解这些源代码,可以深入学习ASP的工作...
遵循GTD无压工作及要事第一理念设计,放手去拼自己的事业吧 对工作任务进行计划、重要性排序、提醒和进度跟踪 利用分组、标签及子任务等方式轻松管理您的任务 支持添加附件、文件链接;内置强大的类似Word的文档...
文件的标题是《关于印发第一批山东省新型智慧城市建设试点工作任务书的通知.pdf》。从中我们可以得知,文件属于通知类文档,主题是关于山东省新型智慧城市建设试点的工作任务。这表明文件的目的是传达关于山东省首批...
《应急管理信息化2019年第一批地方建设任务书》是一份重要的指导文件,旨在规范和指导地方进行应急管理信息化建设。这份文件明确了2019年需要重点实施的11项建设任务,涵盖了感知网络、指挥信息网、卫星通信网、应急...
任务分析不仅关注任务的名称,更关注任务的分解,即将大任务拆解为一系列子任务,以便更详细地评估和衡量每个部分的需求和要求。 子任务是任务的组成部分,通常由单个人员完成,可以用简洁的动宾短语描述。它们可以...
通过开发1个简单的静态网站并在此基础上增加动态的内容,让学生深刻理解B/S架构,体验Web应用程序特殊的开发流程,获取一些经验。 具体包括: (1)开发I个简单的个人主页,了解Web应用程序的部署过程。 (2)为个人主页...
总之,"Abaqus提交任务管理器"是Abaqus用户的一个有力辅助工具,它通过批量提交功能简化了作业管理,提高了仿真分析的工作效率。无论是对于科研人员还是工程师,这都是一个值得掌握和利用的工具。
1.创建mypetstore项目及其目录结构。 2.实现主页面Main.html主体部分并查看页面效果。 3.实现品种列表页面Category.html 主体部分并查看页面效果。 4.完成Product.html页面主体部分并查看页面效果。 5.完成Item.html...
一、任务说明 1.为catalog模块准备好数据。 2.熟思数据库各表数据.特别是要了解catalog模块各页而上的数据需要从哪个表中获取。 3.完成访问各表的DAO类。 三、完成过程 1.通过运行脚本准备数据。 2.在mypetstore项目...
首先,软件开发任务书是项目启动时制定的第一个正式文件,它明确了项目的目标、范围、资源、时间和预期成果,为后续的开发工作提供了明确的指导。它的作用在于确保所有相关人员对项目的理解和期望一致,避免后期出现...
"第一周任务.rar"这个压缩包文件可能包含了一些针对新手的训练材料或项目,旨在帮助新入职者快速适应工作环境并理解其职责。由于标签为空,我们无法获取更具体的分类信息,但我们可以根据通常的“第一周任务”来推测...
在本实战教程中,我们将深入探讨如何使用Java创建一个任务管理应用程序。首先,我们需要了解项目的基本概述和准备工作,然后逐步实现各个核心功能,包括任务类的设计、任务管理器的创建、用户界面的实现、任务提醒的...
8. **初始化**:在系统启动时,需要初始化任务调度器,设置第一个运行的任务,并启动定时器来驱动时间片轮转。 9. **定时器管理**:设置一个硬件定时器,周期性地触发中断,以执行任务切换。定时器中断处理程序应...
总之,“思源笔记插件——汇总散落在整个工作空间的任务 Siyuan Note Plugin”是个人知识管理与任务管理的一个强大工具,无论是日常学习还是工作,都能为我们带来极大的便利。只需简单几步,就能让我们的任务管理变...