【CSDN移动开发俱乐部】移动开发路径之优化与测试

做出一款移动应用很容易,做到成熟优异却很难。针对移动开发中技术人员普遍遇到的技术难题,7月29日下午,CSDN移动开发俱乐部邀请到友盟Android工程师陈彧堃、ThoughtWorks开发工程师刘龙军等多位资深开发者分享Android应用开发中的最佳实践。

Android应用开发中的设计和优化

在长期致力经营移动开发者平台期间,应用分析工具友盟的创作团队总结出一套Android应用开发中的技术和设计经验,在本期活动中,友盟创始团队成员、资深Android开发师陈彧堃进行了分享。

友盟Android工程师陈彧堃: 开发中的每个细节和最终用户体验息息相关

陈彧堃认为,开发和优化直接决定到应用的最终体验,具体表现在三个方面:1. 操作反应是否流畅快速,触摸反应时间是否过长,是否经常出现ANR(Application Not Respond)以及网络等待真快。2. 用户操作是否流畅自然,开发中要注意做好UI适配,不从后台打断用,避免照搬ios设计等做法。3. 是否为用户节省电量。在开发中就要避免在本地运算复杂算法;避免频繁调服务和网络请求。

陈彧堃总结Android开发中遇到的难点有:1.面对当前多种形态的OS、分辨率和屏幕尺寸,而且还不断增加,多终端适配已成为开发者最为头疼的问题。2. 内存管理。Android系统为每个应用分配的内存上限为24M,很多开发者遇到内存分配不足问题。在演讲中,陈彧堃详细分享了性能分析、内存、视图及网络优化、代码复用、用户数据处理等环节需要注意的技术问题。

如何做好Android开发?陈彧堃建议Android工程师:1. 利用traceview和monkey等工具测试应用。2.利用layoutopt和ninepatch等工具优化视图。3. 像Android原生应用学习,遵循最佳实践。4. 掌握一门服务器端语言/框架。5.要培养对UX的感觉。6. 做好应用分析。7. 善用第三方工具。

移动开发中的自动化测试

在Android应用的开发过程中,各种类型的测试对于保证最终产品的质量至关重要,自动化测试是不可缺少的一部分。ThoughtWorks 移动平台兴趣组刘龙军以自己的一个项目为例,分享了开发Android应用产品时一些自动化测试方面的心得和收获。

ThoughtWorks刘龙军:自动化测试可帮助提升代码品质

该项目是个类似手机的航班查询应用,通过Http发送查询请求给远程API服务器,处理返回结果并展现。开发中整个自动化测试过程分为单元测试、自动化功能测试、改进功能测试框架、引入BDD(行为驱动开发)测试框架四步。

经过整个项目流程实践以及多个需求变动对测试框架的调整,对于应用开发中的自动化测试工作,刘龙军总结了四条心得:1. 自动化测试可以帮助提升技术团队与客户团队之间的合作,帮助团队更加透彻地理解业务需求,辅助指导开发方面。2. 功能测试与单元测试有重叠的部分,开发者要综合考虑所花费的时间精力以及找到缺陷的概率,尽可能找到平衡点。3. 自动化测试并不能测试到用户对应用的感觉,也不能对动画效果进行测试。4.让自动化测试价值最大化需要持续集成环境的支持,这样你才可以持续获取测试结果反馈。

应用秀环节,AdView技术主管张其刚介绍广告聚合平台AdView的开发之路

开发者还关注哪些技术问题?

在开放空间讨论环节中,俱乐部还邀请到微云CTO马若劼、奇艺无线技术主管刘金瑞、AdView技术主管张其刚、活力传媒Android工程师叶慧军、天宇手机研发工程师张旭晖、友盟Android工程师陈彧堃、ThoughtWorks开发工程师刘龙军多位资深开发者,与会员们面对面交流移动开发中的技术难点。

与开发高手们面对面讨论技术难题

除了两位讲师的演讲主题,讨论中发现大家关注的几个热点问题如下:

跨平台或者多终端适配问题。即如何更快更好的让应用适配到多个平台。奇艺无线技术主管刘金瑞提醒到大屏幕和高分辨选项已逐渐变得重要。另外在做界面的时候一定要留出可伸缩的范围,留下页面拉伸的余地。

移动Web特别是HTML5作为一种跨平台方案的优劣和适用范围。微云CTO马若劼认为如果用HTML5做游戏类应用的话,现在已可在iOS上进行尝试,而Android平台上则效果相对较差。

平台选择。很多开发者关注这个问题是因为背后需要投入很多的时间和精力,而一些业界动态如Android专利诉讼使他们感到忧虑。微云CTO马若劼认为,作为一名合格的移动开发者,掌握至少两门语言是基本技能。

企业级应用的安全性。越来越多的企业软件拥抱移动,如何处理数据安全问题,是需要事先考虑的重要事项之一。有会员分享了他们的经验:将业务数据封装为组件,适用于所有客户端,而客户端层面并不直接处理数据而是调用组件,其作用类似于定制化的浏览器,是目前可行的方法之一。

报名参加下期CSDN移动开发俱乐部活动:移动应用的运营推广之道

(责任编辑:admin)

时间: 2024-09-24 22:16:32

【CSDN移动开发俱乐部】移动开发路径之优化与测试的相关文章

[CSDN移动开发者俱乐部]移动开发路径之运营推广

移动互联网竞争日益激烈,运营推广在移动开发路径上的重要性正逐渐凸显.早期一款优秀的应用凭借优秀的产品性能以及先发优势就可以快速获得领先地位和海量用户,这种情况变得越来越少. 8月5日,CSDN移动开发者俱乐部举办主题为"移动应用的运营推广"的分享活动,邀请到友盟副总裁姜文一.空中网iPhone游戏负责人洪亮分享移动运营经验,在随后的互动环节,两位讲师和街旁运营总监康乐.瓦力VP刘景岩.手机电视运营总监尹郑敏.海豚浏览器商务总监李森.财新网业务发展及市场总监戚娟娟.个信互动运营总监钱昊.

ios开发-IOS开发使用自定义字体路径问题求大神

问题描述 IOS开发使用自定义字体路径问题求大神 在项目开发中,我需要实现服务器管理UI风格,返回给我一个TTF格式的自定义字体包,我在加载里面的字体,问题就是服务器返给我的TTF字体包,我保存在沙盒里面读取不到.网上也找了很多资料,都没有答案,请问大神该怎么样解决.或者说我怎么把下载的字体加载到我的工程中 解决方案 http://blog.sina.com.cn/s/blog_9bf8abf301018pbr.html 解决方案二: iOS开发 - 使用自定义字体ios 使用自定义字体IOS使

驱动开发-为什么inf文件路径正确,就是在给挂载的镜像添加驱动的时候显示“在指定路径下找不到驱动程序包”

问题描述 为什么inf文件路径正确,就是在给挂载的镜像添加驱动的时候显示"在指定路径下找不到驱动程序包" 为什么inf文件路径正确,就是在给挂载的镜像添加驱动的时候显示"在指定路径下找不到驱动程序包" 解决方案 仔细再检查下相对路径.换一个计算机试试看.看看是不是环境的问题. 你提供的信息有限,没办法进一步判断. 解决方案二: 开发-为什么inf文件路径正确,就是在给挂载的镜像添加驱动的时候显示"在指定路径下找不到驱动程序包"-linux挂载is

jsp问题-用servlet开发俱乐部会员信息管理系统

问题描述 用servlet开发俱乐部会员信息管理系统 在servlet中系统是如何获取 被选中 单选按钮的值? 我知道是可以通过request.getparamter(""单选按钮的name属性"");来获取,但是我觉得这样会获取所有单选按钮的值,我要的是 被选中 的按钮的值,怎么实现?请大神赐教! 解决方案 String radio = request.getParameter(""radio_name"");//获取单选框

java android开发-在解决构建路径错误之前不能构建该项目

问题描述 在解决构建路径错误之前不能构建该项目 JAVA初学者,目前正参考<第一行代码>学习中. 在创建HelloWorld应用的时候出现了如下所示报错,项目图标有感叹号出现. 如图示错误为在解决构建路径错误之前不能构建该项目开发-在解决构建路径错误之前不能构建该项目-构建android开发环境"> 下图是SDK manager的内容 我没有下载sample的extra.此外最下面的extra有一个broken source package不知道该如何修复.不知道上面问的构建路

Web开发中的相对路径和绝对路径

相对路径 相对路径,就是相对于当前文件的目标文件位置.这样有个好处就是,当你整个项目移动时,你项目内文件之间的相对关系没有改变,你之前设置的路径任然是准确的.例如:Web服务器文件夹a下面有index.html和image.jpg两个文件.index.html文件里引入image.jpg,只要这两个文件的相对位置没有变(也就是说还是在文件夹a下面),那么无论上传到Web服务器的哪个位置,这个路径都是正确的.在相对路径里面,./表示同级目录,../表示上级目录. 绝对路径 绝对路径是指目录下的绝对

iOS开发:对MKMapView的性能优化

  最近做的项目主要是LBS这块 主打成员定位功能 我们的UI设计是这样的 开发:对MKMapView的性能优化-"> 乍一看上去是挺好挺美观的 不同的人会显示不同的头像 可是当人扎堆的时候 问题就来了 当人多的时候(例如上图所示) 地图滑动起来就能感觉到明显顿卡 那种不流畅感能折磨死人 所以 自然我们要解决这个问题(等等 先不要吐槽为什么不用地图聚合 因为这已经是地图放到最大了 聚合不适合这次的问题讨论) 分析 首先看下我是怎么实现这个annotationView的 由于这个annota

iOS开发系列--网络开发

概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力的.今天就会给大家介绍这部分内容: Web请求和响应 使用代理方法 简化请求方法 图片缓存 扩展--文件分段下载 扩展--文件上传 NSURLSession 数据请求 文件上传 文件下载 会话 UIWebView 浏览器实现 UIWebView与页面交互 网络状态 目 录 Web请求和响应 使用代理

分布式系统-web开发分为分布式开发和非分布式开发,这个怎么区别,来个精品答案

问题描述 web开发分为分布式开发和非分布式开发,这个怎么区别,来个精品答案 分布式和非分布式怎么区别 ,java中有哪些著名的分布式系统,和非分布式系统,举例说明 解决方案 很简单,如果你只有一个服务器,那就不是分布式,否则就是分布式.位什么要分布式?因为单一的服务器的性能不可能无限的增长,比如处理器,如果你要比目前的处理器快100倍的,那有钱也买不到. 但是性能的需求是无止境的,比如12306,需要几百万人同时使用,只能通过增加服务器的办法提高性能了.此时就要用分布式. 解决方案二: 分布式