热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Android开发四年以来的工作难点总结

1.AndroidNfloatingwidget无法显示。统一管理一个windowtoken解决了此问题。2.Pop-upwindow在Android6.
1.  Android N floating widget无法显示。统一管理一个window token解决了此问题。

 

2. Pop-up windowAndroid6.0上出现花屏。

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

11. 内存调优

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

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

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

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

 

12. 电池优化

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

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


推荐阅读
  • 普通树(每个节点可以有任意数量的子节点)级序遍历 ... [详细]
  • LeetCode 1736: 替换隐藏数字获取最晚时间
    本文详细介绍了如何通过替换隐藏数字来获取最晚时间,适用于 LeetCode 1736 题目。 ... [详细]
  • WCF类型共享的最佳实践
    在使用WCF服务时,经常会遇到同一个实体类型在不同服务中被生成为不同版本的问题。本文将介绍几种有效的类型共享方法,以解决这一常见问题。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 本文将深入探讨 iOS 中的 Grand Central Dispatch (GCD),并介绍如何利用 GCD 进行高效多线程编程。如果你对线程的基本概念还不熟悉,建议先阅读相关基础资料。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 一、Tomcat安装后本身提供了一个server,端口配置默认是8080,对应目录为:..\Tomcat8.0\webapps二、Tomcat8.0配置多个端口,其实也就是给T ... [详细]
  • C#实现文件的压缩与解压
    2019独角兽企业重金招聘Python工程师标准一、准备工作1、下载ICSharpCode.SharpZipLib.dll文件2、项目中引用这个dll二、文件压缩与解压共用类 ... [详细]
  • Spring Data JdbcTemplate 入门指南
    本文将介绍如何使用 Spring JdbcTemplate 进行数据库操作,包括查询和插入数据。我们将通过一个学生表的示例来演示具体步骤。 ... [详细]
  • 本文介绍了Spring 2.0引入的TaskExecutor接口及其多种实现,包括同步和异步执行任务的方式。文章详细解释了如何在Spring应用中配置和使用这些线程池实现,以提高应用的性能和可管理性。 ... [详细]
  • 本文详细介绍了 HTML 中 a 标签的 href 属性的多种用法,包括实现超链接、锚点以及调用 JavaScript 方法。通过具体的示例和解释,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 机器学习算法:SVM(支持向量机)
    SVM算法(SupportVectorMachine,支持向量机)的核心思想有2点:1、如果数据线性可分,那么基于最大间隔的方式来确定超平面,以确保全局最优, ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 本文旨在探讨信息安全专业的职业规划路径,结合个人经历和专家建议,为即将毕业的学生提供实用的指导。 ... [详细]
author-avatar
多米音乐_34084632
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有