Android开发工作中遇到的重点和难点总结

2023-11-16

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

 

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中创建。需要异步处理并开放同步接口给外部。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android开发工作中遇到的重点和难点总结 的相关文章

  • 四年Android面试遇到的问题整理,算法太TM重要了

    何为成长 成长是指自我提升 一方面是本身的个人能力 另一方面是社会对你的认可度 最终 程序员的职位和薪水都能在成长中得以体现 很多人对成长有误解 在他们眼中 随着工作年限的提高 成长是理所当然的事情 这其实是一个误区 两个程序员同时工作3年
  • IBM Worklight开发环境安装

    1 安装jdk1 6以上版本 2 下载安装mysql http ftp iij ad jp pub db mysql Downloads MySQL 5 1 mysql noinstall 5 1 62 win32 zip 3 下载mysq
  • 用BeanUtils类自动封装表单数据

    导入架包 commons beautils 1 8 0 jar commons logging jar Class
  • Android高级工程师普遍进阶难题:遇到瓶颈我们该如何去提升自己?哪个方向

    不要抱怨 抱怨无济于事 只能带来负能量 最重要的是改变 7 坚持写博客和技术文章 多总结 多参与开源项目 8 选择一家好的有发展前途的公司陪其成长 当发现现在公司不能满足自己的成长和发展时 果断跳槽 因为人生毕竟最宝贵的是时间 特别是程序员
  • 移动开发之我见--“Android开发生涯”

    纵观这几年的发展 移动手机的发展真是翻天覆地 前两年诺基亚一统天下 苹果颠覆了整个手机市场 安卓也分得了一杯羹 WindowPhone手机也纯纯欲动 Bada也抓紧推出自己的系统 360也要推出自己的手机系统 百度 腾讯纷拥而至 未来世界是
  • Android通用流行框架大全,零基础入门学习android

    Picasso transformations 一个为Picasso提供多种图片变换的库 Glide transformations 一个为Glide提供多种图片变换的库 Android gpuimage 基于OpenGL的Android过
  • iOS App上传到苹果应用市场构建版本的图文教程

    使用hbuilderx的h5 或uniapp框架写的前端 进行云打包ios应用 会生成一个ipa后缀的应用文件 这个文件是没有办法像安卓应用那样直接安装在手机上面的 需要上架到苹果应用商店 用户才能下载安装使用 因此 我们这篇文章讲详细介绍
  • Android Rom修改制作工具软件集合

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 1 SIN2IMG 用于固件ftf中system sin的解包 下载地址 SIN2IMG rar 使用方法 将固件ftf文件用rar打开 解压出system sin文件 将
  • arcgis for android 学习 - (5) 在地图指定位置添加“标记“,并尝试选中它

    我做一个例子 1 首先显示一个地图 2 点击 添加要素 按钮后再次点击地图 将会在地图上添加 红色的位置标记 3 再次点击按钮后 这时 就可以点击刚刚添加的 红色的位置标记 就可以查看到 该标记关联到得属性值 布局
  • Flutter状态管理Provider,简单上手

    学习Flutter一段时间了 偶然看到大家都说状态管理 多数人都是用redux 对于一个Android开发人员来说之前根本没接触过 于是开始了解redux 之后又了解闲鱼推出的fish redux 然后又看到Vadaski发表的一系列关于F
  • Android declare-styleable:自定义控件的属性(attr.xml,TypedArray)的使用

    android 自定义属性类型的使用 转自 http www cnblogs com ufocdy archive 2011 05 27 2060221 html 做Android布局是件很享受的事 这得益于他良好的xml方式 使用xml可
  • Android 模拟器 Genymotion 安装配置与 ARM 支持

    简介 Genymotion是一款基于x86架构的Android模拟器 由于系统启动速度 应用运行速度远远快于Android SDK自带模拟器而受到广泛应用 优缺点 优点 1 模拟器启动速度快 比AVD快很多 2 应用运行速度快 3 跨平台
  • Android原生系统真的那么好用吗?安卓原生系统吊打其他系统,因为有Google-Play

    Android原生系统真的那么好用吗 这种问题当然是否定的 原生 Android 指的是直接基于 AOSP 构建的而非手机厂商出厂固件修改的第三方 ROM 但包括 Nexus Pixel 或其它被 Google 直接支持的手机的可能是闭源的
  • app上架流程的整理

    app的上架流程 一 准备工作 首先需要有开发者账号 企业级的账号是299 个人开发者账号是99 没有的话可以登录http developer apple com 自行申请 假如你已经有账号了 进入苹果官网点击Accout登录 二 申请证书
  • sharedPreferences

    sharedpreferences 共享参数 也是保存数据的一种方法 通常用于持久化数据 定期更新保存数据 类似ajax的定时刷新 示例代码 主要来源于黑马教程 如下 import java util Timer import java u
  • HTTP协议简介,数据安全 如何保证http传输安全性,http与https区别

    目前大多数网站和app的接口都是采用http协议 但是http协议很容易就通过抓包工具监听到内容 甚至可以篡改内容 为了保证数据不被别人看到和修改 可以通过以下几个方面避免 重要的数据 要加密 比如用户名密码 我们需要加密 这样即使被抓包监
  • android Scroller

    参考 http www linuxidc com Linux 2016 01 127276 htm 以前只知道怎么使用scroller 照猫画虎 复制粘贴 今天遇到使用scroller 还是要去搜索 这样不行 要搞懂原理 上面的博客写的很漂
  • APK加壳原理简述

    先把核心原理记录一下 代码随后再补 PRE dex文件结构知识和加壳原理 先看下dex文件的基本结构 对于加壳主要关注3个关键字 1 checksum 文件校验码 使用alder32算法 校验文件除了maigc和checksum外余下的所有
  • Linux宝塔面板命令大全,快速学会

    cd www server panel python tools py panel 123456 查看宝塔日志 cat tmp panelBoot pl 查看软件安装日志 cat tmp panelExec log 站点配置文件位置 www
  • Android4.0 SDK功能详解

    我在eoe的论坛找到的 就复制过来了 跟大家分享一下 Android 4 0 平台API等级 14 Android 4 0 是一次重要的平台发布版 为用户和应用程序开发者增加了大量的新特性 在下面我们将讨论的所有新特性和API中 因为它将

随机推荐

  • 数据清洗基础—Kettle 数据转换与清洗、数据抽取操作

    实验一 数据清洗基础 Kettle 数据转换与清洗 数据抽取操作 1 实验题目 Kettle 数据转换与清洗 数据抽取操作 2实验目和要求 2 1熟悉 Kettle 的开发环境 并掌握 Kettle 环境的配置与安装 2 2能使用 Kett
  • 复习Python第八节之json数据

    目录 JSON数据学习 1 数据交换 2 json语法 1 什么是json 2 json的库函数 3 dumps 与dump 以及loads 与load 函数之间的差别 4 Json来模拟以下数据库 文本文档当作数据库 5 使用json案例
  • Srping MVC ant路径匹配

    背景 最近有一个功能设计path匹配 开发说支持ant匹配 这是我第一次听说这个词 赶紧补一下功课 Ant匹配规则 1 前言 1 SpringMVC的路径匹配规则是按照Ant来的 实际上不只是SpringMVC 整个Spring框架的路径解
  • 流媒体协议部分开源库简单比对

    流媒体协议部分开源库简单比对 版本说明 版本 作者 日期 备注 0 1 ZY 2019 2 14 初稿 目录 文章目录 流媒体协议部分开源库简单比对 版本说明 目录 目前找到的比较中意的开源库 live555 media server JR
  • 如何用计算机打出平方,x的平方怎么在电脑上打出来(常见数学符号打法图文)...

    很多小白都会这样问 数学的平方 立方怎么打出来 诸如X Y Z 等等这些右下角的角标数字又是怎么打 根号怎么打出来 一些圆形符号 对数函数 极限符号 积分 尤其是定积分 又是怎么才能在pc端去打出来呢 本篇文章介绍几种比较基础的方法 拿平方
  • 第十三届蓝桥杯单片机客观题真题考点整理

    蓝桥杯 单片机设计与开发大赛马上就要进行 最后冲刺阶段将自己整理的资料上传一下 最后一个星期主要冲刺选择题 现在将选择题的考点附上 第八届预赛 单片机 定时器工作状态 晶振 中断优先级 IO口 数码管消隐 内存分布 IO口 复位 振荡器 模
  • PLC学习札记

    PLC概念相关 PLC编程 PLC系统 通过了解概念 知道了plc的核心是对继电器编程 什么是继电器 继电器 最后 阅读PLC指导手册 结合之前学习的知识 融会贯通 PLC编程手册 FX系列 pdf 指令表运行机制 仅限于本项目
  • 人脸识别解决方案全套文件大合集,120份全新精选,有这个就够了

    人脸识别解决方案全套文件大合集 120份全新精选 有这个就够了 一 人脸识别4个特点 二 人脸识别的 4 个步骤 三 人脸识别的 5 个难点 四 人脸识别算法的发展轨迹 五 人脸识别的典型应用 六 下载人脸识别全套解决方案 一 人脸识别4个
  • ubuntu14.04 Git Github环境搭建设置

    一 安装Git sudo apt get update 获得最近的软件包的列表 sudo apt get install git git core git gui git doc git svn git cvs gitweb gitk gi
  • python是完全面向对象的语言、并且完全支持_Python

    Python是一种高级动态 完全面向对象的语言 函数 模块 数字 字符串都是对象 并且完全支持继承 重载 派生 多继承 有益于增强源代码的复用性 运算语句 表达式 函数调用和赋值 各种类型的数据对象 可以通过各种运算组织成复杂的表达式 调用
  • 第一章 dolphinscheduler基础环境搭建

    官方链接 https dolphinscheduler apache org 1 准备工作 1 解压安装包 tar xzvf apache dolphinscheduler 1 3 9 bin tar gz C opt module apa
  • uni-app 1、app-plus的使用,#ifdef MP只兼容小程序

    最近开始查看uni app的一些项目 在pages json里面发现app plus 百度了下看见一些网友的解释是app跟h5端执行 小程序则不执行 只测试过微信小程序 据说其他小程序也不执行 代码如下 path pages index i
  • mysql中的全文索引

    查询操作在数据量比较少时 可以使用like模糊查询 但是对于大量的文本数据检索 效率很低 如果 使用全文索引 查询速度会比like快很多倍 在MySQL 5 6 以前的版本 只有MyISAM存储引擎支持全 文索引 从MySQL 5 6开始M
  • 《云计算-刘鹏》学习笔记-第一章:大数据与云计算

    文章目录 0 笔记说明 1 大数据时代 2 云计算 大数据的计算 3 云计算发展现状 4 云计算实现机制 5 云计算压倒性的成本优势 0 笔记说明 参考书籍为 云计算 第三版 作者为刘鹏 1 大数据时代 大数据的定义如下 海量数据或巨量数据
  • 概率论基础(sigma域、测度)

    一 样本空间 事件 样本空间 Omega 指一个实验的可能结果的集合 omega in Omega 称为 样本
  • 定时任务及分布式定时任务注意事项

    一 定时任务默认是阻塞的 定时任务默认是阻塞的 即串行执行 若一个服务配置多个定时任务 需要等上一个定时任务执行完 才能执行下一个定时任务 一个定时任务超长了 也不应该阻塞其他定时任务的执行 如一个定时任务每秒执行 而业务执行时间是5秒 那
  • vscode (1)直接编译

    第一步创建c文件 第二步配置 终端 配置默认生成任务 选择 usr bin gcc version 2 0 0 tasks type cppbuild label C C gcc 生成活动文件 command usr bin gcc 使用的
  • Stacked Queries(堆叠注入)

    文章目录 基本知识 原理介绍 堆叠注入的局限性 Mysql数据库实例介绍 CTF 实战与各种姿势 修改表名 利用HANDLER语句 利用MySql预处理 正常利用 MySql预处理配合十六进制绕过关键字 MySql预处理配合字符串拼接绕过关
  • jax安装

    Windows 安装 pip install jaxlib 0 3 5 f https whls blob core windows net unstable index html pip install jaxlib cuda111 f
  • Android开发工作中遇到的重点和难点总结

    1 Android N floating widget无法显示 统一管理一个window token解决了此问题 2 Pop up window在Android6 0上出现花屏 3 由于状态栏的影响 悬浮窗上下跳动 4 Wi Fi安全的数据