IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 没考虑多任务的Android程序 -> 正文阅读

[移动开发]没考虑多任务的Android程序

最近一直在忙着对团队的Android程序进行重构和升级,但发现原来的Android程序压根没有考虑多任务问题。典型代码如下:

上传照片代码(伪代码,说明问题为主);原来代码的含义是让上传图片不超过4个,否则出错。

if(mPicList.size() != 4) {
    //上传代码函数
    httpPostPic(); //伪代码    
} else {
    Toast.showText(this, "最多上传四张"); //返回不能上传的对话框
}

原来的工程师这样想:如果图片上传小于4张,则继续上传;否则无法上传。

原来的工程师还沾沾自喜:大部分时候,这部分代码还正确。

但在复杂环境中,这部分代码肯定出错;因为,如果有网络延时,上传照片成为多任务,则照片可能会超过4个,然后,照片就可以永远上传。

修改方法:

1)加上synchronized等同步关键字;

2)size 条件改为 <= 4 。

修改了很多这样的代码,整个程序稳定性大规模提高。

PS:

? ? ? 工程师不仅仅要完成问题,而且要考虑自己的设计的适应性和兼容性,考虑风险的可能存在。不能考虑多种场景,只考虑任务完成的,不是一个合格的工程师。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-11 18:56:29  更:2021-09-11 18:58:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:12:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码