又是一年末-总结自己APP的缺点

  再过几天,16年就过完了,想想自己又老了一岁,不禁感慨-时间过的真™快。这一年,有欢乐,有纠结,有痛苦,有辛酸。今年经历过的事情,有点多,有点乱。

  以往在谈论自己的缺点不足时,总是比较尴尬,或者不敢去直面,比如说面试的时候,总是一大堆的优点,当面试官问自己的不足时,捡一些不足道也的毛病说说。现在想,以后可不能再这么浑浑噩噩的过下去了。有不足,自己要发现,也要虚心接受别人的意见,说到这里,又想起了测试和技术说bug时,技术总是有大套大套的说辞,迫不得已review代码发现问题,也是风轻云淡改改一笔带过。看着从2013到2014再到2017,身子一年不如一年了,唯一没怎么改变的,就是卡里的余额了吧。

  这个APP做了一年多,大毛病没有,小毛病很多,自己知道的和不知道的,有些懒得改的,我希望能在明年一点点完善,做的更好。

  

  1、最大的问题,也是最突出的问题——应用后台运行。

  我这个应用,需要计算里程距离,所以只要用户不kill掉应用,它就要进行定位和位置上传。早在14年的时候,我就研究过后台实现,在这里我依旧用的是 “后台推送唤醒”。当然,我也一直在寻求更好更高效的解决方式,也实验过很多包括audio,VOIP之类的,要么就是审核不过,要么就是对系统有影响或者效果不尽人意。虽然现在的实现机制勉强可以完成需求,但是我会继续寻求更好的方式解决这个问题。

 

  2、web过多造成内存负荷较大。

  应用内有些资料填写页,由于要适应市场变化,资料随时会更改,所以这些填写提交页面大部分嵌入的H5来实现,有些包括图片的上传等,也用到了JS交互。在应用内加载了web后,释放了web对象,清空了cache缓存,总之能清空的全都清了个遍,但是占用的内存还是没有完全释放,查阅过很多文档和资料,建议弃用UIWeb,改用iOS8推出的轻量级WKWeb,好像内存问题会有很大的改善。嗯,这个问题是因为,一是比较懒,二是页面多,WK的实现方式包括委托都不一样,改起来有一定的工作量和风险。不过这个工作已经着手准备开始计划做,相信明年一定能完成。

 

  3、后台返回数据处理混乱—大部分闪退都是因为这个。

     嗯,我承认,这个确实是懒了。请求结果数据以JSON格式返回,如果返回fail,后台有好几种错误提示规则,要么是错误代码,要么是错误详情,要么是Java异常,不要抱怨后台人员,毕竟不是一个人在写,这些问题都可以通过大量判断来处理,但是,value为NULL的数据,并没有全部处理掉,解析JSON往model里放的时候,自己感觉会出现问题的字段,处理了这个NULL,以至于很多地方后台数据突然为NULL时,直接用回导致闪退。虽然意识到这个问题后,写了专门处理返回数据的过滤器,但是之前已有的代码并没有改,自己一直在对自己说,嗯,只是很小一部分,就是一个字,懒。从现在开始,就把数据过滤添加到每个model里。

 

  4、虽然没有任何人或用户提过,但是我知道,应用----耗电快。

  每五秒两次网络请求,固定的,而且还在定位,只要不kill掉应用或者不关掉后台刷新,那么在开始累计距离时,就会触发频繁的定位以及网络请求,当然,同时存在的还有屏幕常亮。不用担心,数据流量并不会太大,开一天也不过最多十几兆而已,但是电量就耗不起了,万幸的是,累计距离的用户大部分都是在车里,有用车载充电,所以耗电快这个问题一直没有暴露出来。也有人认为这并不能算个问题,理应正常才对啊,但是,我并没有去做任何优化耗电的算法和模块,不知道能不能在保证功能完整的前提下减少硬件的耗电。正因为没有去做,所以不能说做不到。接下来会尝试使用一些优化方法,为用户提供更好的体验。大功能要保证,小细节也要面面俱到。

 

  5、新用户不会用,老用户用不惯----界面设计缺陷。

  我从来没想到,我的应用需要安排客服去教用户如何使用。说起来,好多用户致电过来,说什么什么问题,本质就是功能找不到,信息项不会填。最开始的应用1.0,还挺容易上手使用的,基本上一看就会那种,第一界面简洁易懂,第二功能也少。经过了一年多的增增改改,应用功能丰富了很多,也好看精致了很多,但是用户反而不会用了。这个值得我们反思,注册流程增加了,我们就要加引导,功能增加了,我们就要从产品设计从UI设计上,做好入口的分类,而不是让用户打客服来问到底怎么用。这些我们都有待改进。是啊,由于一直执着于功能的完善,UI的精致,忽略了很多人性化的设计和提醒。当用户注册完成了一步,要进行下一步时,最好给全屏的引导或者高亮的提醒,就算只有单纯的文字提示也可以,不能像现在这样,用户完全不知道还有下一步,或者下一步从哪里进入。产品和UI没有考虑到的地方,作为优秀的技术人员,必须填补上这些空白,尽可能让小白用户都能很快上手使用。举个例子,在应用在后台累计距离时,系统内存不足,把我的应用释放掉了,但是用户并不知情,用户下次进入时,发现并没有这段距离,就懵了,我想,我们的应用软件是让每个用户都能达到自己想要的目的,而不是每天在吐槽这个找不到,那个不知道怎么回事。

 

  6、无网络或弱网络支持不好。

  应用做了数据缓存,可以做到无网络进入应用查看一些页面。但是并没有做实时数据的缓存,在网络不好的情况下,容易发生数据丢失,一旦给服务器的数据发送失败,没有缓存发出去的数据,也没有重发机制,导致用户在特殊环境下,统计不到具体的详细数据。我们在无网络时,会提示用户当前的网络状态,但是并没有根据无网络这个特殊情况做出正确的处理,完全把网络这个特殊情况抛给用户,我们完全可以有技术来解决这个问题,不管是把点数据写入本地库或者和服务器建立确认收发机制,都可以。

  

  还有好多好多问题,就不一一列举了,这些我已知的问题,并没有及时的解决,应该算得上一种过失吧。当我们每天宣传自己产品多么多么好,用户有多少多少的时候,是理应高兴的,对于技术来说,用户使用自己的产品,就是对自己的认可。但是高兴也别被冲昏了头脑,要清醒的意识到这些不足,每个应用都不完美,但那是我们的目标。

  年底了,不管是忙还是闲,都该好好静下心思考思考,新的一年该做什么,有什么目标。同时呢,也回顾一下已经快过完的这一年,发生了什么,学会了什么。可以是工作可以是生活,也可以是其他其他,不管什么,我都相信大家的2016全部是五彩斑斓的,有兴奋失眠时,也会有难过失眠时,都是自己度过的美好的/快乐的/忧伤的/难过的时光,都不要忘记坚持会让自己变得更好。我呢,尽管经历了刻骨又铭心,经历了彩虹又风雨,不也在用力地不忘初心。

  希望大家都能实现自己的小目标,都能越过越好。不乱于心 不困于情、不畏将来 不念过往。

转载于:https://www.cnblogs.com/ChinaLoong/p/6207976.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uni-app的优点是它具有跨平台的能力,可以一次编写代码,同时适配多个平台,包括iOS、Android、H5等。这样可以大大减少开发者的工作量并提高开发效率。另外,uni-app还提供了一些方便的功能,比如事件总线,可以方便地进行组件间的通信。 然而,uni-app也存在一些缺点。首先,由于uni-app的问世时间相对较短,其完善性还有待提高,可能会出现一些问题和坑。其次,与其他平台相比,uni-app的稳定性可能不如其他平台。因此,如果开发者希望选择一个更稳定、问题更少的开发环境,建议考虑其他平台。 在编写uni-app代码时,可以使用条件编译来实现在不同平台上的差异化处理。可以使用 #ifdef 或 #ifndef 加 %PLATFORM% 来定义不同平台下的全局变量,并使用 #endif 来结束条件编译块。这样可以根据不同平台的需求来定义和获取全局变量。 除此之外,uni-app还提供了预加载页面的功能,可以使用 uni.preloadPage({url: "/路径?参数=参数值"}) 来预加载一个页面。通过预加载页面,可以提前加载页面的资源,提高页面打开速度和用户体验。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [uni-app知识点](https://blog.csdn.net/weixin_44106237/article/details/128027510)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值