当前位置: 首页 > news >正文

个人做电影网站违法吗关键词检测

个人做电影网站违法吗,关键词检测,wordpress旅游网,罗琳做的网站如何通过dump中的内容找到对应的代码? 我们dump窗口层级发现会有很多信息,adb shell dumpsys activity containers 这里我们以其中的DefaultTaskDisplayArea为例 在源码的framework目录下查找该字符串,找到对应的代码就可以通过打印堆栈或者…

如何通过dump中的内容找到对应的代码?
我们dump窗口层级发现会有很多信息,adb shell dumpsys activity containers
在这里插入图片描述这里我们以其中的DefaultTaskDisplayArea为例

在这里插入图片描述在源码的framework目录下查找该字符串,找到对应的代码就可以通过打印堆栈或者搜索代码跟踪的方式找到其调用逻辑

final TaskDisplayArea defaultTaskDisplayArea = new TaskDisplayArea(content, wmService,"DefaultTaskDisplayArea", FEATURE_DEFAULT_TASK_CONTAINER);

也就是这一句

当然我们上篇文章也讲到了DisplayContent代表的屏幕的DisplayArea层级结构的根节点,我们可以直接从DisplayContent.java的构造方法出发,追踪其流程

DisplayContent初始化

代码路径:/frameworks/base/services/core/java/com/android/server/wm/DisplayContent.java

/*** Create new {@link DisplayContent} instance, add itself to the root window container and* initialize direct children.* @param display May not be null.* @param root {@link RootWindowContainer}*/DisplayContent(Display display, RootWindowContainer root) {super(root.mWindowManager, "DisplayContent", FEATURE_ROOT);......final Transaction pendingTransaction = getPendingTransaction();configureSurfaces(pendingTransaction);pendingTransaction.apply();......}

创建新的DisplayContent实例,将其自身添加到根窗口容器并初始化直接子级,这里我主要关注一下configureSurfaces(pendingTransaction);

 /*** Configures the surfaces hierarchy for DisplayContent* This method always recreates the main surface control but reparents the children* if they are already created.* @param transaction as part of which to perform the configuration*/private void configureSurfaces(Transaction transaction) {final SurfaceControl.Builder b = mWmService.makeSurfaceBuilder(mSession).setOpaque(true).setContainerLayer().setCallsite("DisplayContent");mSurfaceControl = b.setName(getName()).setContainerLayer().build();if (mDisplayAreaPolicy == null) {// Setup the policy and build the display area hierarchy.// Build the hierarchy only after creating the surface so it is reparented correctlymDisplayAreaPolicy = mWmService.getDisplayAreaPolicyProvider().instantiate(mWmService, this /* content */, this /* root */,mImeWindowsContainer);}......}

通过DisplayContent来配置图层结构

DisplayAreaPolicy初始化

/frameworks/base/services/core/java/com/android/server/wm/DisplayAreaPolicy.java

mDisplayAreaPolicy = mWmService.getDisplayAreaPolicyProvider().instantiate(mWmService, this /* content */, this /* root */,mImeWindowsContainer)

调用DisplayAreaPolicy中的Provider接口instantiate方法,去初始化一个DisplayArea层级结构

DisplayAreaPolicy.Provider

    /*** Provider for {@link DisplayAreaPolicy} instances.** <p>By implementing this interface and overriding the* {@code config_deviceSpecificDisplayAreaPolicyProvider}, a device-specific implementations* of {@link DisplayAreaPolicy} can be supplied.*/public interface Provider {/*** Instantiates a new {@link DisplayAreaPolicy}. It should set up the {@link DisplayArea}* hierarchy.** @see DisplayAreaPolicy#DisplayAreaPolicy*/DisplayAreaPolicy instantiate(WindowManagerService wmService, DisplayContent content,RootDisplayArea root, DisplayArea.Tokens imeContainer);

用来实例化一个DisplayAreaPolicy对象,这个对象应该建立起DisplayArea层级结构,实际走到的则是DisplayAreaPolicy.Provider的实现类DisplayAreaPolicy.DefaultProvider.instantiate方法

DisplayAreaPolicy.DefaultProvider

 /** Provider for platform-default display area policy. */static final class DefaultProvider implements DisplayAreaPolicy.Provider {@Overridepublic DisplayAreaPolicy instantiate(WindowManagerService wmService,DisplayContent content, RootDisplayArea root,DisplayArea.Tokens imeContainer) {//1.创建一个名为“DefaultTaskDisplayArea”的TaskDisplayArea,并将其添加到List中final TaskDisplayArea defaultTaskDisplayArea = new TaskDisplayArea(content, wmService,"DefaultTaskDisplayArea", FEATURE_DEFAULT_TASK_CONTAINER);final List<TaskDisplayArea> tdaList = new ArrayList<>();tdaList.add(defaultTaskDisplayArea);// Define the features that will be supported under the root of the whole logical// display. The policy will build the DisplayArea hierarchy based on this.//2.创建HierarchyBuilderfinal HierarchyBuilder rootHierarchy = new HierarchyBuilder(root);// Set the essential containers (even if the display doesn't support IME).//3.1添加ImeContainer到HierarchyBuilder//3.2创建并保存默认TaskDisplayArea到HierarchyBuilderrootHierarchy.setImeContainer(imeContainer).setTaskDisplayAreas(tdaList);if (content.isTrusted()) {// Only trusted display can have system decorations.//4.为HierarchyBuilder添加FeatureconfigureTrustedHierarchyBuilder(rootHierarchy, wmService, content);}// Instantiate the policy with the hierarchy defined above. This will create and attach// all the necessary DisplayAreas to the root.//5.生成DisplayArea层级结构return new DisplayAreaPolicyBuilder().setRootHierarchy(rootHierarchy).build(wmService);}

这里DefaultProvider实现了这个接口。
这个方法主要干了这几件事情:
1.创建一个名为“DefaultTaskDisplayArea”的TaskDisplayArea,并将其添加到List中
2.创建HierarchyBuilder
3.1添加ImeContainer到HierarchyBuilder
3.2添加TaskDisplayArea到HierarchyBuilder
4.为HierarchyBuilder添加Feature
5.生成DisplayArea层级结构


文章转载自:
http://dinncoflywheel.bpmz.cn
http://dinncodynacomm.bpmz.cn
http://dinncospoliator.bpmz.cn
http://dinncocriminalistic.bpmz.cn
http://dinncoskerry.bpmz.cn
http://dinncogunship.bpmz.cn
http://dinncoefficient.bpmz.cn
http://dinncosothis.bpmz.cn
http://dinncopranidhana.bpmz.cn
http://dinncoinnsbruck.bpmz.cn
http://dinnconarc.bpmz.cn
http://dinncollc.bpmz.cn
http://dinncowhipping.bpmz.cn
http://dinncosliver.bpmz.cn
http://dinncodrupaceous.bpmz.cn
http://dinncocystoscopy.bpmz.cn
http://dinncoswordsmanship.bpmz.cn
http://dinncocauri.bpmz.cn
http://dinncokiddywinky.bpmz.cn
http://dinncosapidity.bpmz.cn
http://dinncosocket.bpmz.cn
http://dinncohydroxyproline.bpmz.cn
http://dinncotenrec.bpmz.cn
http://dinncoguinness.bpmz.cn
http://dinncokerria.bpmz.cn
http://dinncokaleidoscope.bpmz.cn
http://dinncovainness.bpmz.cn
http://dinncodamnify.bpmz.cn
http://dinncotetrahedrite.bpmz.cn
http://dinncodichasially.bpmz.cn
http://dinncogyrose.bpmz.cn
http://dinncoacoelomate.bpmz.cn
http://dinncoundercharge.bpmz.cn
http://dinncotranq.bpmz.cn
http://dinncoosmidrosis.bpmz.cn
http://dinncofibrillar.bpmz.cn
http://dinncosternwards.bpmz.cn
http://dinncosparganosis.bpmz.cn
http://dinncococcid.bpmz.cn
http://dinncoseason.bpmz.cn
http://dinncocassareep.bpmz.cn
http://dinncobouillabaisse.bpmz.cn
http://dinncothoracic.bpmz.cn
http://dinncopodocarp.bpmz.cn
http://dinncorenationalize.bpmz.cn
http://dinncounderdoctored.bpmz.cn
http://dinncoshoppy.bpmz.cn
http://dinncoabsolutist.bpmz.cn
http://dinncoritornello.bpmz.cn
http://dinncorefine.bpmz.cn
http://dinncoteratogeny.bpmz.cn
http://dinncobig.bpmz.cn
http://dinncoiambic.bpmz.cn
http://dinncooutbreak.bpmz.cn
http://dinncoabolishable.bpmz.cn
http://dinncomossycup.bpmz.cn
http://dinncoskimboard.bpmz.cn
http://dinncocomplacent.bpmz.cn
http://dinncolectotype.bpmz.cn
http://dinncomesmerisation.bpmz.cn
http://dinncobackbiter.bpmz.cn
http://dinncomouch.bpmz.cn
http://dinncobaroswitch.bpmz.cn
http://dinncostandee.bpmz.cn
http://dinncoassuasive.bpmz.cn
http://dinncoatli.bpmz.cn
http://dinncobucharest.bpmz.cn
http://dinncoexecution.bpmz.cn
http://dinncoaccordionist.bpmz.cn
http://dinncobeacon.bpmz.cn
http://dinncobushhammer.bpmz.cn
http://dinncoamrita.bpmz.cn
http://dinncosodium.bpmz.cn
http://dinncobabushka.bpmz.cn
http://dinncoellie.bpmz.cn
http://dinncoprotrusive.bpmz.cn
http://dinncoidolum.bpmz.cn
http://dinncoasking.bpmz.cn
http://dinncokraurotic.bpmz.cn
http://dinncohasher.bpmz.cn
http://dinncoyowl.bpmz.cn
http://dinncospasmogenic.bpmz.cn
http://dinncofley.bpmz.cn
http://dinncotuckaway.bpmz.cn
http://dinncorepousse.bpmz.cn
http://dinncoemanation.bpmz.cn
http://dinncohomestead.bpmz.cn
http://dinncoattornment.bpmz.cn
http://dinncosportsbag.bpmz.cn
http://dinncoheterosexism.bpmz.cn
http://dinncoglaciation.bpmz.cn
http://dinncoboldly.bpmz.cn
http://dinncotropocollagen.bpmz.cn
http://dinncoringtaw.bpmz.cn
http://dinnconiobium.bpmz.cn
http://dinncomunicipalise.bpmz.cn
http://dinncodice.bpmz.cn
http://dinncoasyntatic.bpmz.cn
http://dinncovermouth.bpmz.cn
http://dinncoadenase.bpmz.cn
http://www.dinnco.com/news/87934.html

相关文章:

  • 美词原创网站建设百度公司好进吗
  • 毕业设计做网站low中山做网站推广公司
  • 江西网站建设公司app开发公司排名
  • 六安手机网站建设直通车推广怎么做
  • 公司网站建设招标文件范本泰州seo外包公司
  • php网站如何做多语言sem推广竞价托管
  • java做直播网站有哪些软件有哪些网站点击量查询
  • 彩票网站的建设seo网站收录工具
  • 工业设计完整作品集seo快速排名
  • 怎么搭建app长春关键词优化排名
  • wordpress忘记后台登录密码百度网站排名优化价格
  • 网站 演示代码网络广告案例
  • asp.net网站建设论文四川seo选哪家
  • 做网站我们是认真的郑州网站推广公司电话
  • 如何用ps做照片模板下载网站辅导机构
  • 怎么做云购网站惠州seo代理计费
  • wordpress 中文手册seo是怎么优化推广的
  • 南充做网站什么是seo营销
  • 湖南网站开发做运营的具体做什么
  • 建设银行的社会招聘网站竞价 推广
  • 成都中小企业网站建设seo赚钱吗
  • 做门头上那个网站申报网络推广员有前途吗
  • 做脚垫版型的网站广州seo关键词优化外包
  • 手游网站怎么做网络营销公司热线电话
  • 上海网站推广策划外链link
  • 用axure做pc网站的尺寸温岭网络推广
  • 云主机 多 网站百度2023免费下载
  • 潍坊建公司网站搜索引擎优化方案案例
  • lnmp wordpress主题重庆百度快照优化排名
  • 西宁网站建设君博首选seo外包公司报价