深南APP制作深南APP制作

如何开发一款成功的Android APP

如何开发一款成功的android app,困惑了我好久了,是要自己开发还是找专业的开发公司啊,不懂啊?求赐教

我们知道App运行过程中所有的操作都默认在主线程(UI线程)中进行的,这样App的响应速度就会受到影响。会导致程序陷入卡顿、死掉甚至会发生系统错误。 

为了加快响应速度,需要把费时的操作(比如网络请求、数据库操作或者复杂的计算)从主线程移动到一个单独的线程中。最高效的方式就是在类这一级完成这项操作,可以使用AsyncTask或者IntentService来创建后台操作。如果选择使用IntentService,它会在需要的时候启动起来,然后通过一个工作线程来处理请求(Intent)。 

使用IntentService时需要注意以下几点限制:这个类不要给UI传递信息,如果要向用户展示处理结果信息请用Activity;每次只能处理一个请求;每一个处理请求过程都不能中断; 

建议一:怎么保持响应不发生ANR 从UI线程中移除费时操作这个方式还可以防止用户操作出现系统不响应(ANR)对话框。需要做的就是继承AsyncTask来创建一个后台工作线程,并实现doInBackground()方法。还有一种方式就是自己创建一个Thread类或者HandlerThread类。需要注意这样也会使App变慢,因为默认的线程优先级和主线程的优先级是一样的,除非你明确设定线程的优先级。 

建议二:怎么在线程中初始化查询操作 当查询操作正在后台处理时,展示数据也不是即时的,但是你可以使用CursorLoader对象来加快速度,这个操作可以使Activity和用户之间的互动不受影响。使用这个对象后,你的App会为ContentProvider初始化一个独立的后台线程进行查询,当查询结束后就会给调用查询的Activity返回结果。 

建议三:其它需要注意的方面 使用StrictMode来检查UI线程中可能潜在的费时操作;使用一些特殊的工具如Systrace或者Traceview来寻找在你的应用中的瓶颈;用进度条向用户展示操作进度;如果初始化操作很费时,请展示一个欢迎界面。优化设备的电池寿命如果应用很费电,请不要责怪用户卸载了你的应用。对于电池使用来说,主要费电情况如下:更新数据时经常唤醒程序;用EDGE或者3G来传递数据;文本数据转换,进行非JIT正则表达式操作。 

建议四:怎么优化网络 如果没有网络连接,请让你的应用跳过网络操作;只在有网络连接并且无漫游的情况下更新数据; 选择兼容的数据格式,把含有文本数据和二进制数据的请求全部转化成二进制数据格式请求; 使用高效的转换工具,多考虑使用流式转换工具,少用树形的转换工具; 为了更快的用户体验,请减少重复访问服务器的操作; 如果可以的话,请使用framework的GZIP库来压缩文本数据以高效使用CPU资源。


未经允许不得转载:深南APP制作 » 如何开发一款成功的Android APP

赞 (100)