开发过程中注意事项及优化(持续更新~~~)
来源:互联网 发布:cacti监控linux主机 编辑:程序博客网 时间:2024/05/18 08:09
把每一件简单的事做好,就不简单了;把每一件平凡的事完成,就不平凡了!
这篇文章会慢慢更新的,自己刚接触到安卓开发,注意事项以及性能优化都会更新,希望对读者有一定的帮助。
1.在handler执行异步信息传递的时候,当我们在非UI线程中,需要把传递的信息sendMessage给主线程,这个时候我们需要的message对象的获取,最好是采用
Message message = mHandler.obtainMessage(); message.what = mHandlerIndex; message.obj = result; mHandler.sendMessage(message);
改掉原本的Message message=new Message();
obtainMessage()获取Message对象就能避免创建对象,从而减少内存的开销了。
2.在开发动画效果的过程中,尽量避免帧动画的使用,容易造成OOM(Out Of Memory)记得在项目开发中,因为我新手,一个信号外放的动画效果,我当时是使用的帧动画,虽然效果看上去一样,但性能差距挺大。老大的项目使用的ScheduledExecutorService,当时说的一句话挺好“动画效果不就是定时任务嘛”........
mSchedule = Executors.newSingleThreadScheduledExecutor(); mSchedule.scheduleAtFixedRate(new AdvertingTask(), 500, 500, TimeUnit.MILLISECONDS);
这样的实现效果可以放在一个线程中去完成,主要是程序在结束的时候,相对于释放资源以及任务结束方便。
public void finish() { if (mSchedule != null && (!mSchedule.isShutdown())) { mSchedule.shutdown(); mSchedule = null; } super.finish();}
3.JSON中optString和getString的区别
optJSONObject源码解析:
public JSONObject optJSONObject(String name) { Object object = opt(name); return object instanceof JSONObject ? (JSONObject) object : null;} //当返回值不是JSONObject对象时,返回值为null,不抛出异常;
getJSONObject源码解析:
public JSONObject getJSONObject(String name) throws JSONException { Object object = get(name); if (object instanceof JSONObject) { return (JSONObject) object; } else { throw JSON.typeMismatch(name, object, "JSONObject"); }} //当返回值不是JSONObject对象时,抛出异常;
4.应用TextUtils简化代码量
TextUtils.isEmpty(phone)替代原本的phone == null || phone.trim().length() <= 0TextUtils.equals(regPass, regPassAgain)判断两者是否一致。
2 0
- 开发过程中注意事项及优化(持续更新~~~)
- Ionic开发中注意事项(持续更新)
- FreeCMS开发过程问题总结(持续更新中)
- 集成开发注意事项(持续更新)
- IDEA 配置及优化(持续更新)
- Petalinux BSP使用中的问题及注意事项(持续更新)
- 微信开发注意事项(我会持续更新的)
- jpa注意事项(持续更新)
- 移植linux3.6至mini2451过程中遇到的问题及解决(持续更新中...)
- 关于实际开发中优化web的一些小技巧汇总(持续更新中)
- Android Studio开发过程问题小结(持续更新中)
- java开发过程中遇到的问题(持续更新)
- iOS开发Cocoapods安装过程中遇到问题解决[持续更新]
- Retrofit开发过程中遇见的bug(持续更新)
- keil 软件的使用注意事项(持续更新中)
- caffe微调网络时的注意事项(持续更新中)
- iOS 开发过程中记录的一些小知识(持续更新...)
- (持续更新)日积月累——iOS开发过程中遇到的一些小问题
- 常用实体字符、媒体标签、超链接标签、图片标签
- 集合转数组的toArray()和toArray(T[] a)方法
- 数据库连接池
- android应用的一些接口方法
- const和static总结
- 开发过程中注意事项及优化(持续更新~~~)
- #129 Rehashing
- SSH中后端获取到的数据传向页面显示
- C语言基础知识
- APP二次启动问题
- BZOJ1110: [POI2007]砝码Odw
- 集成学习实践(sklearn)
- servlet利用拦截器改写request和response
- pycharm——快捷键、常用设置、配置管理