编程实战二

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所交流,总结的一些东西)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值