文章目录

  • 小结
  • 有关Android导览(Android Navigation component)
  • 碰到的问题
  • 参考

小结

在使用Android导览(Android Navigation component)碰到很多问题。解决了一些问题,但是“Skipped xxx frames! The application may be doing too much work on its main thread”这样的的问题一直没有解决。

有关Android导览(Android Navigation component)

参考Android Developer: Migrate to the Navigation component: Migrate to the Navigation component 和
Android Developer: Get started with the Navigation component,可以创建navigation graph方便地对Fragment进行管理。

碰到的问题

  • NavController cannot find an ID
    Caused by: java.lang.IllegalArgumentException: ID does not reference a View inside this Activity

  • java.lang.IllegalArgumentException: ID未引用此活动中的视图

  • xxx does not have a NavController set on xxx

对于碰到的以上的问题,都差不多,是获取Controller时的出现的问题,参考Android开发 报错: xxx does not have a NavController set on xxx,以下代码可以解决:

    @Overrideprotected void onStart() {super.onStart();mController = Navigation.findNavController(MainActivity.this, R.id.nav_host_fragment);}

或者:

    public void navigate(@IdRes int resId, @Nullable Bundle args) {try {navHostFragment = (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);mController = navHostFragment.getNavController();mController.navigate(resId, args);} catch (IllegalStateException | IllegalArgumentException ex) {Log.e(TAG_NAV, String.format("Unable to navigate to destination. %s", ex.getMessage()));}}

对于以下碰到的问题始终没有解决:

  • Skipped xxx frames! The application may be doing too much work on its main thread

一种说法是创建多线程或者异步任务可以解决,但是试了一下好像不行。

另一种说法是Android应用运行时图片资源过大加载导致处理不过来。

  • mdpi = 1x
  • hdpi = 1.5x
  • xhdpi = 2x
  • xxhdpi = 3x
  • xxxhdpi = 4x

其中drawable-nodpi是不会进行缩放的,结果试了这种办法也是不行。
创建一个新的分辨率的资源如下:
yourprojectname->app->src->main->res-> New->Image Asset-> select your resolution image required

参考

Android Developer: Migrate to the Navigation component: Migrate to the Navigation component
Android Developer: Get started with the Navigation component
Stackoverflow: Why does my NavController cannot find an ID that I already have?
找不到.findNavController()的正确上下文
Android开发 报错: xxx does not have a NavController set on xxx
Stackoverflow: The application may be doing too much work on its main thread
13、主线程任务太多导致异常退出(The application may be doing too much work on its main thread)
Stackoverflow: Will a density qualified drawable folder or drawable-nodpi take precedence?

有关Android导览(Android Navigation component)相关推荐

  1. Android自定义导览地图组件(一)

    丨版权说明 : <Android自定义导览地图组件(一)>于当前CSDN博客和乘月网属同一原创,转载请说明出处,谢谢.          鉴于Android关于自定义导览地图的相关资料以及 ...

  2. Android 官方架构组件 Navigation 使用详解

    前言 前段时间,我在做项目开发的时候对Fragment的管理遇到几个小问题,总觉得在现阶段封装好的Fragment管理器不太优雅.这成为我下决心学习Jetpack在很早之前推出的Navigation库 ...

  3. Android Jetpack组件之Navigation使用-源码

    1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发中的问题,对代码的逻辑和UI界面实现深层解耦,打造数据驱动型UI界面. A ...

  4. 【Android RTMP】Android Camera 视频数据采集预览 ( 图像传感器方向设置 | Camera 使用流程 | 动态权限申请 )

    文章目录 安卓直播推流专栏博客总结 一. Camera 传感器方向简介 二. Camera 图像传感器横向显示数据 三. Camera 图像传感器纵向显示数据 四. 设置 Camera 预览数据方向 ...

  5. 【Android RTMP】Android Camera 视频数据采集预览 ( 视频采集相关概念 | 摄像头预览参数设置 | 摄像头预览数据回调接口 )

    文章目录 安卓直播推流专栏博客总结 一. Android 端数据采集涉及到的相关概念 二. Camera 预览图像尺寸设置 三. 获取摄像头采集的数据格式 安卓直播推流专栏博客总结 Android R ...

  6. Android - 基于Toolbar的Navigation Drawer(Material Design)

    Material Design已经推出许久,有许多app都已经跟进了,这里也介绍下基于Toolbar的Navigation Drawer是如何实现的. 样式: 实现过程: 1. 在 activity_ ...

  7. Android问题-selection contains a component,button7,introduced in an ancestor and cannot be deleted....

    问题现象: 在开发Android时增加的控件想删除,可是删除时提示"Android问题-selection contains a component,button7,introduced i ...

  8. android 摄像头比例,Android摄像头是全屏预览最简单的方式.doc

    Android摄像头是全屏预览最简单的方式 Android Camera做全屏预览之最简单方法 M厂开发五部:刘 博 一.全屏预览与非全屏预览的区别 对于大多数人来说,我们看电影.玩游戏等都喜欢全屏, ...

  9. Android JetPack底部导航Navigation 组件的介绍与使用

    1.介绍: 在以前的应用中,针对多导航模块的使用,常见的有tabhost或者FragmentTabHost,但是这些在使用的过程中,非常臃肿,包括加载和管理也不如人意.在AndroidX中,官方引入N ...

最新文章

  1. JavaScript移除绑定在元素上的匿名事件处理函数
  2. WINDOWS XP常用的快捷键组合?
  3. 分布式文件系统—HDFS—常见面试题
  4. CDN - 域名解析错误排查
  5. oracle创建、删除索引等操作
  6. 模板匹配中差值的平方和(SSD)与互相关准则的关系
  7. java dispose null_Java Map释放内存置null以及调用clear()的区别
  8. MyEclipse的代码提示功能
  9. 【MyBatis框架】mybatis入门
  10. 面向对象编程思想以及强、弱引用总结
  11. Peer-To-Peer 综述(P2P技术综述)
  12. 3DMM之EOS 原理解析
  13. 按键精灵python脚本_Python 假装自己是按键精灵
  14. 驱动程序安装全攻略2
  15. 社交网络分析中重要指标说明
  16. php关闭notice_屏蔽PHP默认设置中的Notice警告的方法
  17. 联想笔记本电脑insert键占用,当鼠标变成小方块时,如何解决
  18. 2018年要过去了,年初说好要上完的网课呢?
  19. 机器学习从入门到创业手记-初识sklearn
  20. 日语学习之——五十音图及单词(3)

热门文章

  1. AMS5601开发 AB角度磁编码器
  2. 点击修改用户图像php类,php修改图像
  3. 怎么领支付宝大红包?技术方面有这三大考量!
  4. 很多人觉得做地推很没有面子
  5. com.baomidou.mybatisplus.core.exceptions.MyBatisPlusException: java.net.UnknownHostException
  6. 卷积神经网络结构示意图,卷积神经网络的结构图
  7. win10玩不了星际战甲怎么办?
  8. 人工智能:从图灵到未来
  9. 代理模式相关简单论述
  10. 易基因|3文一览:DNA甲基化及组学测序在斑马鱼中的科学研究成果