ams

Android源码分析(十四)PackageManagerService服务分析

主宰稳场 提交于 2020-12-04 15:17:19
一. PackageManagerService启动过程分析 PackageManagerService(PMS)主要是管理应用的安装,卸载,更新,解析以及权限。    如果想了解SystemService启动过程请看这篇文章: Android 源码分析(六) SystemServer 进程 如果想了解AMS服务分析请看这篇文章: Android源码分析(十三)ActivityManagerService服务分析 同AMS一样,PMS也是由SystemServer启动的. public final class SystemServer { private PackageManagerService mPackageManagerService; private PackageManager mPackageManager; ... // Start the package manager. // 启动PMS服务 if (! mRuntimeRestart) { MetricsLogger.histogram( null , " boot_package_manager_init_start " , ( int ) SystemClock.elapsedRealtime()); } traceBeginAndSlog( " StartPackageManagerService " )

HDS AMS 更换控制器和控制器缓存

南笙酒味 提交于 2020-12-02 07:12:44
故障现象:CTL1 故障,CTL0 控制器缓存1报错 存储前置面板告警等亮起 存储后面板,控制器告警灯亮红灯 通过浏览器连接到存储控制器查看告警 查看告警日志 登陆管理平台HSNM2查看设备状态 HDS AMS控制器结构图 故障处理: 步骤规划 先更换控制器在更换缓存 1.更换控制器: 注意点: 》检查新的控制器的内存和接口板是否和原来的一样,如内存大小等,如果不一样,可以把坏的拔插 到新的控制器上,在更换控制。控制器拔出后,过20秒以上在插入。新的控制器微码要和旧的控制器微码一样或者低一些。 》拔掉所有的外部线缆:如果FC光纤线,ISCSI网线,管理网线。连接扩展柜的连接线不要拔出 》如果两个控制器同时故障要关机更换,如果一个控制器故障,开机更换, 》更换caches缓存要吧控制器拔出来,换好后在插回去 》电源模块,直接更换,拔出旧的插入新的,主要电源线是否正常,,插头两头是否松动 2.更换步骤: 控制器插进去后控制器指示灯会出现下面的状态,整个过程要保持控制不要断电 1.alrm灯亮后过一会 2.Ready亮alrm灯亮后过一会 3.Ready亮alrm灭后过一会 4.Ready亮alrm灯亮后过一会 5.Ready亮alrm灭后过一会 控制器恢复过程中会出现下面这个状态没事等变正常 检查log日志查看过程,可以看到recoverystart 控制器回复正常 前面板告警灯消失

商业气象服务和公共气象服务差异几何?

给你一囗甜甜゛ 提交于 2020-11-24 12:38:01
点击上面 观天者说 ,获取全球气象行业资讯 美国 《福布斯》 商业周刊1月24日刊登了一篇短评:《商业气象服务与公共气象服务差异几何?》 作者吉姆·佛斯特(Jim Foerster)是商业气象公司 DTN 的气象服务总监。DTN是世界上最大的商业气象服务公司,他和他的团队在航空,运输,海事,能源,农业和安全市场提供可行的天气预报和咨询服务。 吉姆爷爷是《福布斯》的高产作者 2019年就在福布斯网站发表了47篇文章 吉姆·佛斯特(Jim Foerster)也是全球198位 认证气象咨询专家 (Certified Consulting Meteorologists,CCM)之一。 CCM是美国气象学会(AMS)提供的职业资质认证,所谓气象咨询专家,能够将天气信息应用到许多实际挑战中的专家。 在体制外混 还是要有个专业性的官方认证 在中国,气象部门的基本定位属于 科技型、公益性 单位,但同时商业气象服务正在发展中。这个题目,也是很多气象人关注的,观天者把这篇文章翻译给大家供参考。 《商业气象服务与公共气象服务 差异几何?》 天气对社会起着重要作用。每年天气对美国国民生产总值的影响约为 1万亿美元 ,根据最近的几项研究,美国 超过95%的公司 都在使用气象信息。 根据美国国家气象局(NWS)的数据, 天气每年为美国企业创造130亿美元的价值 ,无论是公共部门还是商业公司

字节跳动大佬含泪写下,这篇Android体系架构知识

跟風遠走 提交于 2020-11-20 18:53:08
一、开始的开始(字节大神语录) Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术,但是,即使是这样的技术,Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码 熟悉而又陌生: 熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。 所以我们需要从新的角度去分析这些知识点,深入研究他们,要学习源码,模仿源码,然后再hook源码,这样才能说自己懂这块的知识。这些都是做Android开发,更是做高级工程师的基础。 二、字节跳动大神自我介绍 字节跳动成立于2012年3月,目前公司的产品和服务已覆盖全球150个国家和地区,75个语种,曾在40多个国家和地区排在应用商店总榜前列。 字节跳动在海内外推出了多款有影响力的产品,包括综合资讯类的今日头条,TopBuzz,新闻共和国,视频类的抖音,TikTok,西瓜视,BuzzVideo,火山小视频,等新业务。 当然以上跟我没有关系我只是想吹一下牛逼自己有多厉害!我是2015年加入的字节跳动,现在是Android高级研发工程师 这是我平常要做的事情: 1、负责今日头条 / 皮皮虾 Android客户端的功能研发和性能优化 2、设计良好的代码结构

Android进阶解密④—插件化原理

廉价感情. 提交于 2020-11-17 14:04:01
在学习插件化之前需要看前面几篇文章: Android进阶解密①—activity的启动过程 Android进阶解密②—Service的启动 Android进阶解密③—Hook 动态加载技术: 在程序运行时,动态加载一些程序中原本不存在的可执行文件并运行起来,,随着应用技术的发展,动态加载技术逐渐派生出两个分支,热修复和插件化; 热修复:用于修复bug 插件化:解决应用庞大,功能模块解耦,复用其他apk的代码 插件化思想: 将复用的apk作为插件,插入另一个apk中,比如淘宝中会有咸鱼的页面,用淘宝为咸鱼引流,使用插件化技术,可以直接使用咸鱼apk中的dex文件,这样省去再次开发一套咸鱼页面的成本,并且有效的降低了淘宝apk的耦合度; Activity插件化原理: 插件化activity的目的是直接使用另一个apk的activity,而activity的启动和生命周期的管理需要经过AMS的处理,另一个apk的activity没有在本项目的manifest注册,肯定是无法通过的,所以我们需要hook startActivity的流程,绕过ams的验证,可以在本项目使用一个占坑activity,在发送给ams前将插件activity换成占坑activity去通过ams的验证,验证好以后在真实的启动时再将插件activity换回来; 步骤: 事先在本项目准备好占坑activity

AMS:用类json配置快速搭建管理后台页面

三世轮回 提交于 2020-11-17 02:57:03
今天给大家分享一个开源项目——AMS,一个由唯品会开源的,基于类json配置的管理后台前端解决方案。 背景 我们先来回顾一下,管理后台的搭建方式。 最原始的方式,前后端还未分离,前后端代码融合一起,往往是后端把整个管理后台负责了 发展到前后端分离和JQ兴起,前端可以完全手写实现,也可以使用类似bootstrap这些框架进行快速搭建 在发展到React/Vue这些MVVM框架的兴起,也产生了很多对应的配套,比如Element-ui、Ant Design 由于管理后台对UI要求不高以及功能通用,UI框架的使用给前端带来极大的方便,前端可以不需要再关心UI组件的实现,只需要把UI框架提供的组件像搭积木一样搭建,然后再去写数据交互逻辑,就可以比较快的实现一个管理后台。 这样看好像很完美,特别是用着高质量的UI框架,坑少~ 但是!积木搭久了,你会发现还是要写不少代码: UI组件代码。比如你写一个列表,拿Element-ui举例,你可能需要用到 el-table 、 el-table-column ,然后再来个分页 el-pagination 。可能90%的场景都是这样的,但是你每次都要写,即使复制,可能也要微调 搭完UI,然后要写数据逻辑交互,比如请求个列表接口,梳理接口字段,把数据塞到表格,然后处理分页时的数据交互逻辑。同理,每个项目每个列表都要这样。 上面举例的只是一个列表场景

Rimini Street公布2020年第三季度财务业绩

点点圈 提交于 2020-11-12 08:58:01
季度营收 8,250 万美元,同比增长 19.3% 季度经计算总账款额 6,830 万美元,同比增长 33.3% 截至 2020 年 9 月 30 日共有 2,365 家活跃客户,同比增长 16.4% 拉斯维加斯--(美国商业资讯)--全球企业软件产品和服务提供商、甲骨文和SAP软件产品领先的第三方支持服务提供商以及Salesforce合作伙伴 Rimini Street, Inc. (Nasdaq: RMNI)今日公布了截至2020年9月30日的第三季度业绩。 此新闻稿包含多媒体内容。完整新闻稿可在以下网址查阅: https://www.businesswire.com/news/home/20201105005074/en/ Rimini Street联合创始人、首席执行官兼董事长 Seth A. Ravin 表示:“在第三季度,我们继续很好地执行了公司的策略增长计划。公司实现了高于指引的创纪录季度营收,创纪录的新销售发票以及未完成订单额,经计算总账款额同比增长了33.3%,季度毛利率高于指引,营收留存率维持在90%以上,在本季度再次实现了净收益,资产负债表在季度末得到了进一步夯实,获得了创纪录的8,370万美元的总现金,年初至今运营现金流达到了3,180万美元,同比增长了51.7%。我们还不断进行投资,以利用全球对Rimini Street支持解决方案不断增长的需求

Framework系列-Binder通信流程(一)

戏子无情 提交于 2020-11-02 08:14:10
Binder是Android进程通信过程的机制,也是非常复杂的,整个通信过程涉及到用户态和内核态,从java层到Framework层,到驱动层,以前断断续续的看了不少文章,总是不能看到本质,所以不能表达出原理思想。最近看了几篇文章,写得挺好的,所以趁此将整个过程记录下来,方便后续复习。当然也有理解不到位的,不过大致方向应该没错,想了解更多的可以看后面的链接文章。 分析的源码8.0,驱动源码kernel_3.18 一、涉及源码 \frameworks\base\core\java\android\content\ContextWrapper . java \frameworks\base\core\java\android\app\ContextImpl . java \frameworks\base\core\java\android\app\ActivityManager . java \frameworks\base\core\java\android\os\ServiceManagerNative . java \frameworks\base\core\java\android\app\IActivityManager . aidl \frameworks\base\core\jni\android_util_Binder . cpp \frameworks\ native

《Android开发艺术探索》超详细笔记【转载】

瘦欲@ 提交于 2020-10-28 10:58:16
原文地址:https://www.cnblogs.com/jooy/articles/8926144.html 本笔记整理自: https://www.gitbook.com/book/tom510230/android_ka_fa_yi_shu_tan_suo/details 参考文章: http://szysky.com/tags/#笔记、http://blog.csdn.net/player_android/article/category/6577498 本书是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点。本书从三个方面来组织内容。 1. 介绍Android开发者不容易掌握的一些知识点 2. 结合Android源代码和应用层开发过程,融会贯通,介绍一些比较深入的知识点 3. 介绍一些核心技术和Android的性能优化思想 目录 第1章 Activity的生命周期和启动模式 第2章 IPC机制 第3章 View的事件体系 第4章 View的工作原理 第5章 理解RemoteViews 第6章 Android的Drawable 第7章 Android动画深入分析 第8章 理解Window和WindowManager 第9章 四大组件的工作过程 第10章 Android的消息机制 第11章 Android的线程和线程池

Rimini Street任命Gerard Brossard为首席运营官

为君一笑 提交于 2020-10-27 18:26:37
这名经验丰富的 IT 高管将在大规模全球运营管理和领导、销售执行、收入增长和产品线管理方面带来广泛的成功经验 拉斯维加斯--(美国商业资讯)--全球企业软件产品和服务提供商、甲骨文和SAP软件产品领先的第三方支持服务提供商和Salesforce合作伙伴 Rimini Street, Inc. (Nasdaq: RMNI)今日宣布任命 Gerard Brossard 担任新设立的执行副总裁一职,同时出任首席运营官(COO)。Brossard将负责Rimini Street的全球现场业务及该公司针对Oracle和SAP产品的支持和应用管理服务的全球销售和成功。Brossard直接向Rimini Street首席执行官 Seth A. Ravin 汇报工作。 此新闻稿包含多媒体内容。完整新闻稿可在以下网址查阅: https://www.businesswire.com/news/home/20200713005192/en/ 新的首席运营官将带来助力公司快速增长的强大能力 在加入Rimini Street之前,Brossard曾担任Rackspace全球解决方案与服务事业群的执行副总裁兼总经理,负责所有产品、解决方案和服务的损益(P&L)管理。在此之前,他曾担任Earthlink执行副总裁兼企业和中型市场董事总经理,负责该市值4亿美元的事业部的损益管理。在职业生涯早期