我有一个git分支,每当我执行'git pull'时,不断地用一个交替的字母大小写'重新创建'.假设分支名称为'a'(或我知道的所有'A'),一个'git pull'将产生该行:
* [new branch] a -> origin/a
Run Code Online (Sandbox Code Playgroud)
然后下一个'git pull'将产生:
* [new branch] A -> origin/A
Run Code Online (Sandbox Code Playgroud)
这永远不会停止.我不知道分支是如何创建的(或它是什么),因为其他人创建了它.
我如何驯服这个分支并让它停止这样做?
我有一个复杂的Android应用程序,具有相当数量的应用程序状态,需要持久化(以特定格式).写出数据不是一个瞬时操作,因此最好尽量减少不必要的持久性.
由于持久性开销,每次更改时保持状态是不切实际的.理想情况下,当用户点击"主页"按钮或点击应用程序根活动(或来电等)上的"后退"按钮来"应用"应用程序时,会触发持久状态.这样可以最大限度地减少持久性开销,同时从用户的角度保持状态一致性.问题是如何检测应用程序是否"背景化"?
活动生命周期调用(onStart,onResume,onPause和friends)没有帮助,因为应用程序有许多不同的活动,当用户点击"home"时,其中任何一个活动都可以处于活动状态.此外,当活动在活动堆栈上被推送,弹出(和底部杀死)时调用调用,因此它们不会反映应用程序是否消失.
那么应用程序如何检测它何时进入后台?
我想在我的整个应用程序上叠加一个视图,包括所有活动。将其视为我应用程序上的 HUD(平视显示器)。该应用程序有多个活动,包括选项卡活动,并且 HUD 不会以任何方式与用户交互,它只是显示信息,同时让用户像往常一样与应用程序交互。我希望此 HUD 用于调试目的,以便我(和其他人)可以在手机未连接到调试机器(现场测试)时监控应用程序活动和状态。
我该如何添加这样的视图?
我试过像这样使用 WindowManager.addView() :
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT,
WindowManager.LayoutParams.TYPE_APPLICATION,
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
windowManager.addView(hudView, lp);
Run Code Online (Sandbox Code Playgroud)
但是当我启动新活动时,HUD 似乎并没有持续在前台,它只是消失了。