首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

服务之间调用连接不上运维层面问题分析

服务之间调用连接不上运维层面问题分析 笔者: 张首富 时间: 20201118 晚 问题描述 1,20201118日上午清华反应 callout 服务调用 robot 服务失败;网络-赵晨排查从网络层面排查并没有重传...,丢包现象; 2,20201118日下午李刚反应 auth 等多个 java 服务连不上数据库,连不上数据库的 java 服务都是部署在同一台机器上; 过程分析 上面两个问题其实是有相同点的,相同点就是服务之间的调用不能正常通信...(好像是废话),相同的地方就是都去连接服务端固定的一个端口; 通过监控平台分析发下,在发生问题的时间点上,出问题的两台客户端机器上的TCP_timeout都过多,cpu 内存磁盘等指标都趋于正常。...当 tcp timeout 过的时候造成新的连接连接不上,所以出现连接失败的情况;还请排查为什么会出现那么多 timeout建议检查分析代码

69930

Android技能树 — Fragment总体小结

2.1 FragmentManager相关 1. getFragmentManager(): 获取Fragment父容器的管理器,但是现在该方法在Activity中已经被标记不推荐使用了。...推荐使用的方法(毕竟可以兼容Android所有版本) 3. getChildFragmentManager(): 我们提过,Fragment更像是一个“子Activity”,那你说"子Activity"...等情况下,系统会调用onSaveInstanceState()帮你保存当前Activity的状态、数据等,直到再回到该Activity之前(onResume()之前),你执行Fragment事务,就会抛出该异常...答案是可以的,但是不推荐。...原因:我们可以知道Activity重新创建时,会重新构建它所管理的Fragment,原先的Fragment的字段值将会全部丢失(因为当切换横竖屏时,Fragment会调用自己的无参构造函数,那么在构造函数传参就会失效

1.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android技能树 — Fragment总体小结

    2.1 FragmentManager相关 1. getFragmentManager(): 获取Fragment父容器的管理器,但是现在该方法在Activity中已经被标记不推荐使用了。...推荐使用的方法(毕竟可以兼容Android所有版本) 3. getChildFragmentManager(): 我们提过,Fragment更像是一个“子Activity”,那你说"子Activity"...等情况下,系统会调用onSaveInstanceState()帮你保存当前Activity的状态、数据等,直到再回到该Activity之前(onResume()之前),你执行Fragment事务,就会抛出该异常...答案是可以的,但是不推荐。...原因:我们可以知道Activity重新创建时,会重新构建它所管理的Fragment,原先的Fragment的字段值将会全部丢失(因为当切换横竖屏时,Fragment会调用自己的无参构造函数,那么在构造函数传参就会失效

    35110

    如何优雅地申请Android运行时权限

    因为是在你实现的方法上加注解来请求权限,所以代码相对要简洁一些,我们基本上要使用到以下几个注解。 ?...同样,在写完申请完权限后执行的方法后,同样要在Activity的onRequestPermissionsResult中注册回调。...假如我封装了一个获取定位的接口,这是一个独立的方法,一般来说会写在LocationUtils.java中,而且任何人任何类类都可能调用我的方法,这就导致LocationUtils是没有Activity去接收...所以,在应用中,我可以加载一个Fragment(和RxPermissions思路类似),在fragment中申请权限,onRequestPermissionsResult回调也放在这个fragment中...这样我在任何位置,只要有Activity存在,都可以加载这个fragment去请求权限,请求完成后再移除这个fragment。

    3.3K20

    Android权限管理PermissionsDispatcher2.3.2使用+原生6.0权限使用

    注解 需要 描述 @RuntimePermissions ✓ 在Activity或者Fragment中需要添加,来处理权限的问题 @NeedsPermission ✓ 注释其执行需要一个或多个许可的作用的方法...它通过在一个PermissionRequest可用于继续或中止在用户输入的当前的许可请求对象 @OnPermissionDenied 注释这是调用的方法,如果用户不授予的权限 @OnNeverAskAgain...:name="android.permission.CAMERA" /> 二、在Activity中添加注解 @RuntimePermissions public class MainActivity extends...要确定您的应用是否已被授予权限,请调用新增的 checkSelfPermission() 方法。要请求权限,请调用新增的 requestPermissions() 方法。...PermissionsDispatcherDemo 参考文档:http://blog.csdn.net/lmj623565791/article/details/50709663 补充 现在网上不少关于权限的库,可以直接用的,在GitHub上搜索即可

    1.6K50

    Android Fragment 的妙用 - 优雅地申请权限和处理 onActivityResult

    ---- Fragment 封装权限申请 Android 6.0 动态权限机制,大家再熟悉不过了,如果我们没有对其进行封装,那我们每一次在申请权限的时候,大概需要以下几步: 这里我们已拨打电话为例子进行讲解...当我们申请权限申请的时候,先查找我们当前 Activity 是否存在代理 fragment,不存在,进行添加,并使用代理 Fragment 进行申请权限 第二步:在代理 Fragment 的 onRequestPermissionsResult...第三步:调用 Fragment 的 requestPermissions 方法进行权限申请 然后看 onRequestPermissionsResult 方法 这里我们主要关注 handleEachPermissionCallBack...但实际上,这种方式会存在一些局限 onActivityResult 必须在原始 Activity 中才能接收,如果想在非 Activity 中调用startActivityForResult,那么调用和接收的地方就不在同一个地方了...你呢, Fragment 的妙用你还知道哪些,欢迎留言评论。 Android 技术人,一位不羁的码农,撩天撩地撩技术,期待你的参与。

    2.1K30

    一个类快速实现 Android 6.0 运行时权限适配

    前言 现在来谈 Android 6.0 运行时权限适配,可以说是很过时了,可是为什么还要写呢?...二是看了下目前国内主流的应用,发现很多都还没有适配 Android 6.0 ,因此觉得这篇文章还有它的意义。...使用 既然上面说到了易用性,那我们先来看看使用方法 在需要申请权限的地方调用 PermissionReq.with(this) // Activity or Fragment .permissions...基类和 Fragment 基类中添加以下代码 @Override public void onRequestPermissionsResult(int requestCode, @NonNull String...RequestCode 终于浮出水面 我们在内部使用一个静态自增的 AtomicInteger 作为 RequestCode ,保证 RequestCode 不会重复,使用 AtomicInteger 而不直接使用

    27520

    Android动态权限申请(Kotlin版)

    Android6.0之后,APP有些用到的权限需要动态申请,虽然这个功能已经出来好久了,但一直没有研究过,只知道用法简单,到时候copy一下就好了,github上也有许多开源的框架供大家使用。...Android动态权限申请 Android6.0之后,权限级别分为正常权限和危险权限: 正常权限对用户隐私或其他应用操作风险较小,只需要在应用声明中声明即可使用。...Fragment中实现,不需要用户再去调用,不过我总是觉得这样做对android性能优化不是很好,源码如下: private RxPermissionsFragment getRxPermissionsFragment...(Activity activity) { RxPermissionsFragment rxPermissionsFragment = findRxPermissionsFragment(activity...实现onRequestPermissionsResult回调: override fun onRequestPermissionsResult(requestCode: Int, permissions

    4.3K20

    Android M 权限最佳实践

    前言 Google在Android 6.0 上开始原生支持应用权限管理,再不是安装应用时的一刀切。权限管理虽然很大程度上增加了用户的可操作性,但是却苦了广大Android开发者。...最佳实践 上面的解决方案是可行的,但是每次申请权限需要依赖于上一次调用shouldShowRequestPermissionRationale( )方法的返回值,如果SharedPreferences被修改或者被删除...EasyPermissions并没有存储上一次shouldShowRequestPermissionRationale( )的返回值,而是在申请权限被拒后调用shouldShowRequestPermissionRationale...具体见PermissionBestPractice 将通用的操作转移到BaseActivity和BaseFragment中 每个Activity或者Fragment都需要覆写onRequestPermissionsResult...或者Fragment只需做很小的修改就可以实现6.0上的权限管理了 // 1.

    1.3K91

    【Flutter 混合开发】添加 Flutter 到 Android Fragment

    -EventChannel 添加 Flutter 到 Android Activity 添加 Flutter 到 Android Fragment 添加 Flutter 到 iOS 每个工作日分享一篇,...使用新引擎创建 FlutterFragment 添加 Flutter 到 Fragment 与添加 Activity 基本一样,如果添加到 Activity 满足需求,建议使用 Activity,因为...() .add(R.id.fragment_container, fragment) .commit() } } activity_main 布局文件修改如下...N之前的Android版本上,无法对 SurfaceView 进行动画处理,因为它们的布局和渲染与其他 View 层次结构不同步,因此要合理选择渲染模式,渲染模式设置方法如下: val fragment...Android上具有透明的 Flutter 渲染会对性能产生负面影响。但是,有的时候需要其透明,显示其底下的 UI,因此,Flutter在 FlutterFragment 中支持设置为透明。

    1.3K20

    Android运行时权限终极方案,用PermissionX吧

    没有人愿意编写处理Android运行时权限的代码,因为它真的太繁琐了。 这是一项没有什么技术含量,但是你又不得不去处理的工作,因为不处理它程序就会崩溃。...但如果处理起来比较简单也就算了,可事实上,Android提供给我们的运行时权限API并不友好。...回想一下,之前所有申请运行时权限的操作都是在Activity中进行的,事实上,Android在Fragment中也提供了一份相同的API,使得我们在Fragment中也能申请运行时权限。...但不同的是,Fragment并不像Activity那样必须有界面,我们完全可以向Activity中添加一个隐藏的Fragment,然后在这个隐藏的Fragment中对运行时权限的API进行封装。...这是一种非常轻量级的做法,不用担心隐藏Fragment会对Activity的性能造成什么影响。 这就是PermissionX的实现原理了,书中其实也已经介绍过了这部分内容。

    1.2K10
    领券