1. Android N floating widget无法显示。统一管理一个window token解决了此问题。

2. Pop-up window在Android6.0上出现花屏。

3. 由于状态栏的影响,悬浮窗上下跳动

4.  Wi-Fi安全的数据可能会由第三方提供,或者云提供。因此需要设计可扩展性的接口。

5. 根据http/https的漏洞,设计检测流氓Wi-Fi SSLStrip和SSLSplit的方法。

6.  Lottile 动画不支持硬件加速绘制。采用离线软件绘制,再使用硬件加速解决问题。

7. 智能定时器根据电量,充电,屏幕以及当前的手机扫描记录。选择触发或者延期到条件满足再触发。这种触发条件和触发事件(插拔充电器或者熄屏)是可以配置的。设计难度较大。最终框架由trigger,condition 和action组成。

8. 病毒弹出框,后弹出的弹出框要优先显示。使用栈而不是列表。同时需要优雅地处理home键以及activity回收。

9. 文件信息服务需要同时满足3个tab页面的需求。使用引用计数管理生命周期。

10. CoordinateLayout 不支持ViewPager页面底部内嵌按钮。 查看了CoordinateLayout源代码找到解决方案。监听Offset事件动态调整按钮位置。

11. 内存调优

* 使用dumpsys 查看内存占用详细情况。

* 使用strict mode检测泄露的acitvity,没有关闭的cursor等。

* 使用 mat 工具查看具体泄露情况,处理内存泄露问题。

* 有些内存泄露是由Android系统造成。ExpandableListView被inputmanager占用,没有释放。WebView被占用没有释放。此等内存泄露定位后,需要找到开放的API去释放资源。

12. 电池优化

* 很多Sensor没有对应的开放API,需要查看源代码,用反射方法调用。

* 蓝牙模块的BluetoothAdapter 在低端机器上必须在handlerthread中创建。需要异步处理并开放同步接口给外部。

Android开发四年以来的工作难点总结相关推荐

  1. 斗鱼直播Android开发二面被刷,工作感悟

    一.自我介绍 应该算是起点比较高吧!985大学毕业后面一直在国外读研.之前准备面试微软但是可能经验不够,没有通过.经过朋友介绍我准备回国,积累一些开发经验.于是我面试了国内大厂BATJ,还有一些其他比 ...

  2. Android开发四 开发第一个Android应用

    打开Eclipse,新建项目(点击FileNewProject),在项目列表中展开Android目录,选择Android Project,如下图: 点击"finish"即可完成 ...

  3. Android开发程序员从大厂裸辞,面阿里、字节接连挂,网友直呼:菜是原罪,没实力大厂镀个遍也没用

    现在很多人会通过进入大厂镀金后再就业涨薪的方式,但是并不是每一个人都成功镀金.最近在职场论坛上看到这样一个抱怨帖子:"谁说的大厂镀金,信了你们的鬼话,裸辞两月0offer,早知道前年选虾皮了 ...

  4. Android开发的反思

    机缘-开始接触编程 2015年一个美丽的下午,那时我读高二,我清楚记得那个下午的信息技术课,我们的信息技术老师是一个做技术的技术宅,负责学校的各种系统的开发维护,那节课上,他向我们展示了一个他自己做的 ...

  5. Android开发究竟该如何学习,重难点整理

    背景 面是是上海的Android leader岗位,周日一轮面试,自我感觉答的都还不错. 结果收到邮件面试结束了,说什么"你优秀的学识和能力给我们留下了深刻的印象!经过对你综合情况的仔细评估 ...

  6. Xamarin.Android开发实践(十四)

    原文:Xamarin.Android开发实践(十四) Xamarin.Android之ListView和Adapter 一.前言 如今不管任何应用都能够看到列表的存在,而本章我们将学习如何使用Xama ...

  7. Android开发笔记(一百五十四)OpenGL的画笔工具GL10

    上一篇文章介绍了OpenGL绘制三维图形的流程,其实没有传说中的那么玄乎,只要放平常心把它当作一个普通控件就好了,接下来继续介绍OpenGL具体的绘图操作,这项工作得靠三维图形的画笔GL10来完成了. ...

  8. Android开发笔记(九十四)图片的基本加工

    位图管理Bitmap Android上的图形使用Drawable类,而位图管理则使用Bitmap类,java上与之对应的是awt包中的BufferedImage.Android开发中有需要对jpg.p ...

  9. Android开发笔记(五十四)数据共享接口ContentProvider

    ContentProvider 前面几节介绍了进程间通信的几种方式,包括消息包级别的Messenger.接口调用级别的AIDL.启动页面/服务级别的Notification,还有就是本节这个数据库级别 ...

最新文章

  1. 定义Serializer序列化器
  2. Android之如何卸载指定的 应用程序
  3. bootsrap+jquery+组件项目引入文件的常见报错
  4. 3d数学基础学习总结
  5. struts 模块化开发学习
  6. 修改windows远程登录端口
  7. ssr Android简书,react服务端渲染ssr
  8. Nginx使用GeoIP模块来限制地区访问
  9. python3菜鸟教程
  10. python qt5 安装
  11. 在机器学习领域,怎样写好一篇论文
  12. nas918+支持的cpu_C2000浮点运算注意事项——CPU和CLA的差异及误差处理技巧
  13. 音频在计算机里存储形式是什么,如何在录音带上存储任何类型的文件
  14. 一行代码能实现什么丧心病狂的功能?
  15. Krita源码分析(一)——项目结构
  16. java jit技术_如何理解JIT编译技术?
  17. 次世代3D建模的制作流程与制作时间,一个模型就上万,钱真不好拿
  18. NI LabVIEW 2014SP1视觉开发必备软件和工具包
  19. PHP-深入理解Opcode
  20. hive任务卡在个别reduce的问题分析

热门文章

  1. java 动态读取文件_Java窗体动态加载磁盘文件的实现方法
  2. go语言的iota是什么意思_关于Golang中的iota
  3. python lambda函数_python入门基础之lambda匿名函数
  4. maven排除依赖包的子依赖_漫画谈一下Maven依赖
  5. keras dense sigmoid_tf.keras一个存在自定义层时加载模型时的小坑
  6. python入门必备指南-致Python初学者 Anaconda入门使用指南完整版
  7. 可变车道怎么走不违章_可变车道怎么才能正确通行?老司机来告诉你什么才是正确的走法。...
  8. java spring boot缓存_Springboot对缓存的支持
  9. python取特定年份的数据_python,_怎样用python提取不同股票csv里特定时间段的数据,python - phpStudy...
  10. OPENCV打开图片进行边缘检测