安卓 8.0 启动Services方案总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓 8.0 启动Services方案总结相关的知识,希望对你有一定的参考价值。
参考技术A 官方规定:8.0以后不允许后台应用启动后台服务,需要通过 startForegroundService() 指定为前台服务运行,或者使用 JobScheduler 替代。
startForeground只需要在onCreate或者onBind中启动一次就好
在服务销毁时调用 stopForeground(true);
2.使用 JobScheduler 代替,这也是官方建议的一中方式。
3.启动服务前,先将服务所在应用从后台切换到前台,主要思路如下:
启动透明 Activity 后 startService:
上面都是围绕 startService 启动方式来讲,没有提及 「bindService」 方式,系统并未限制 bindService 启动后台服务,所以通过 bindService 绕过 android 8.0 startService 的限制,也是可行的。
Zabbix面试总结
-
监视任何事情适用于任何IT基础架构,服务,应用程序和资源的解决方案
-
-
---------------------------------------------------------
-
监控基础概论
-
zabbix并非监控,而是实现监控的工具
-
Zabbix-server是一个c/s和b/s结构
-
安装zabbbix的服务器安装时和php7.1有冲突:若此机器上已经安装php7.1就安装不上zabbix
-
-
监控知识体系
-
为什么要使用监控
-
1.对系统不间断实时监控
-
2.实时反馈系统当前状态
-
3.保证服务可靠性安全性
-
4.保证业务持续稳定运行
-
-
如果去到一家新的公司,如何入手?
-
1.硬件监控——路由器、交换机、防火墙
-
2.系统监控——cpu、内存、磁盘、网络、进程、tcp
-
3.服务监控——nginx、php、tomcat、redis、memcache、mysql
-
4.web监控——响应时间、加载时间、渲染时间
-
5.日志监控——ELK、(收集、存储、分析、展示)日志
-
6.安全监控——firewalld、WAF(nginx+lua)、安全宝、牛盾云、安全狗
-
-
-
单机监控
-
单机进程cpu查看负载和使用率
-
单机内存查看
-
单机磁盘查看
-
单机查看网络
-
-
引入zabbix分布式监控系统
-
使用shell脚本来监控服务器
-
-
安装zabbix
-
(单机)--> LAMP
-
(架构)--> LAP + MYSQL
-
-
服务端端口:10051
-
客户端端口:10050
基础模板
-
自定义监控阈值实战
-
自定义监控项
-
单位
-
值类型
-
值映射
-
-
阈值的定义
-
单条件
-
多条件
-
-
自定义触发器(动作)
-
自定义报警(邮件|微信)邮件发送的信息内容可以使用系统自带的宏变量来对应修改(官方站点有宏变量的介绍)
-
自定义图形、聚合图形、幻灯片、网络拓扑图、Graphtree
-
自定义模板(给主机添加)
-
系统默认自带的监控项设置阈值要根据生产中的需求来进修修改(阈值的高低)
服务监控(监控的服务要求有状态页面查询)
-
nginx
-
PHP-fpm
-
mysql
-
tomcat
-
redis
zabbix内部资源基础架构
web监控
-
请求时间
-
响应时间
-
页面不是200-->触发报警
自动化监控:
-
自动发现(server端轮询网段扫描发现agent)
-
** 自动发现:server-->轮询扫描-->ip地址段--> **
-
自动发现:ip、ftp、ssh、web、pop3、imap、tcp
-
ip范文自动发现(两个阶段:发现-->动作)
-
szabbix-web自动发现定义自动监控的网段中的zabixx-agent(配置文件中server已经定义zabbix-server地址)
-
-
-
自动发现所执行的动作
-
发送消息
-
添加/删除主机
-
启用/禁用主机
-
添加主机到组
-
从组中删除主机
-
将主机链接到模板/从模板中取消链接
-
执行远程脚本命令
-
-
主动注册(agent端主动告诉server端请求加入)
-
zabbix-server必须开启自动注册-->操作-->(通知|加入监控|套用模板)
-
Agent(ServerActive=10.0.0.61)-->启动-->自动加入zabbix-server
主动模式被动模式:
-
主动模式被动模式:默认为zabbix-agent被动模式
主动模式与被动模式主要是站在zabbix-agent身份来说
-
1.被动模式(zabbix-server轮询检测zabbix-agent)
-
2.主动模式(zabbix-agent主动上报给zabbix-server)优
zabbix主动模式与被动模式选择
-
1.当(Queue)队列中有大量的延迟监控项
-
2.当监控主机超过300+ ,建议使用主动模式
被动模式(默认)
主动模式(优)
zabbix-proxy分布式
-
Zabbix-proxy使用场景:
-
监控远程位置,解决跨机房
-
监控主机多,性能跟不上,延迟大
-
解决网络不稳定
实战经验总结:
-
1.先查看文档中有没有对应的脚本和xml模板
-
2.在服务端导入模板,查看对应的监控项名称
-
3.测试脚本是否能取值,并存放置于/etc/zabbix/scripts目录下,一定要增加执行权限
-
4.编写xx.conf文件,里面主要存放的是如何定义监控项
-
5.最后重启zabbix-agent
-
6.使用服务端zabbix-get 获取 zabbix-agent对应的监控项的数据
-
范例:
-
公司未启用swap(swap也是公司中服务器不建议启用的,因为swap是将磁盘模拟内存使用,消耗cpu的性能,建议关闭swap。加大内存),随着客户的流量日益增大,导致将zabbix服务进程强制OOM,
-
以上是关于安卓 8.0 启动Services方案总结的主要内容,如果未能解决你的问题,请参考以下文章
安卓8.0 启动后台Service 引发一个 IllegalStateException
安卓8.0 启动后台Service 引发一个 IllegalStateException
appium-java,连接真机启动微信(适应于安卓8.0及以上,新版appium)