编程实战二

来源:互联网 发布:迅雷同类软件 编辑:程序博客网 时间: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所交流,总结的一些东西)