编程实战二
来源:互联网 发布:迅雷同类软件 编辑:程序博客网 时间:2024/06/14 13:23
1.StartActivity进行跳转
建议:使用统一的页面跳转方法,便于对跳转时的逻辑进行统一控制。
便于修改逻辑。
public class ActivityA extends Activity{ public Static void startSelft(Context context,String id){ if(true){//满足一定的条件 context.startActivity(context,ActivityA.class).putExtras("UserId",id); }else{ log.d("不满足条件:","不跳转"); } }}//在另一个ActivityB要条状到ActivityA时public class ActivityB extends Activity{ @Override protected void OnCreate(SavedInstance s){ ActivityA.startSelft(ActivityB.this,"123"); }}
2.当内存紧张时,app由后台切换至前台时,系统回收了全局变量,发生闪退
建议:全局变量应该配合SharedPreference(序列化到本地就行,当全局变量为空时,到本地来取)一起使用
3.页面请求网络接口数量
建议:每个页面初始化时尽可能少的调用网络接口,加快页面展现速度。
4.对用户的输入进行校验
建议:对用户的输入, 一定要进行校验。最好是用正则校验。
尤其对是否有emoji表情进行校验,因为后台数据库可能在存储emoji表情字符时发生异常。(解决办法,对emoji进行转码)
5.网络请求的解析
使用gson或fastjson等对请求的结果进行解析,不要直接使用JSONObject或JSONArray获取数据。
直接从数据字典中取值可能会发生异常(老是要用try catch),而且JSONObject不支持序列化,无法在页面间进行传递。
6.广播的使用
a.使用广播,设置action时使用的字符串应做统一的管理(写一个统一的字符串),以免引起错误。(名称:应用包名+动作名称)b.不要滥用广播。
7.一些技术的推荐
热更新:
推荐使用阿里的热更新框架 Sopfix,简单易用
https://www.aliyun.com/product/hotfix?spm=5176.8142029.388261.331.DmnOuG
打开PDF文档:
使用android-pdfview库,或者使用后台解析成pdf.js,android端直接使用webview加载(腾讯的qq和浏览器目前基本是采用这样的方法)
解析文档:
使用poi库将word、excel、ppt文档解析为html文件进行显示。
http://blog.csdn.net/jbjwpzyl3611421/article/details/49612537
代码混淆:
使用proguard对代码进行压缩、混淆和优化。缩减方法数。
http://blog.csdn.net/ocean20/article/details/67634130
crash:
使用bugly收集日志,在后台可以看到上传的crash信息和其他自定义的信息。
减少apk体积:
A.res目录下废弃的资源文件,应备份后,从项目中移除,缩减apk安装包的体积。(使用lint检查无用代码和资源)
B.用到的图片资源,应在设计时进行优化(压缩和复用),尽可能地在保证图片质量的同时对图片大小进行控制。 https://tinypng.com/(提供几乎无损压缩)
(注:这是和同事再一次code meeting所交流,总结的一些东西)
- Hbase实战二:编程实战
- 编程实战二
- 多线程编程 实战篇 (二)
- .Net安全编程实战(二)
- 多线程编程 实战篇 (二)
- C++---编程实战(二)
- 多线程编程 实战篇秘籍 (二)
- 实战体会Java多线程编程(二)
- Struts模块化编程经典实战教程(二)
- 多线程编程——实战篇(二)
- Struts模块化编程经典实战教程(二)
- 多线程编程——实战篇(二)
- java多线程编程 - 实战篇(二)
- VC++ 实战OLEDB编程(二)
- VC++ 实战OLEDB编程(二)
- Java并发编程实战~笔记~章二
- sparkSQL实战之二:编程指定模式
- Java并发编程实战笔记(二)
- LeetCode 6. ZigZag Conversion--字符串按之字形放置,然后横向顺序输出
- android 中系统日期时间的获取
- VC6到VS2010平台迁移
- JNIEnv对象
- git常用操作总结
- 编程实战二
- logstash(三):过滤器与grok
- 为微信小程序增加mixin扩展
- css3加载自定义字体
- 最常用的PHP正则表达式收集整理
- 设置UITextView,UITextField光标位置
- DataFrame 操作笔记
- Oracle指定某些值排最前或最后
- Linux内核通信之---proc文件系统(详解)