Giter VIP home page Giter VIP logo

Comments (7)

HelloJokerWord avatar HelloJokerWord commented on July 20, 2024

极端情况下遇到个这个。
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:9995)
at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:1965)
at android.view.View.requestLayout(View.java:26038)
at android.view.View.setFlags(View.java:16554)
at android.view.View.setVisibility(View.java:11997)
at com.petterp.floatingx.util._FxExt.setVisibility(FxExt.kt:39)
at com.petterp.floatingx.imp.system.FxSystemPlatformProvider.hide(FxSystemPlatformProvider.kt:51)
at com.petterp.floatingx.imp.FxBasisControlImp.hide(FxBasisControlImp.kt:63)

from floatingx.

Petterpx avatar Petterpx commented on July 20, 2024

极端情况下遇到个这个。 android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:9995) at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:1965) at android.view.View.requestLayout(View.java:26038) at android.view.View.setFlags(View.java:16554) at android.view.View.setVisibility(View.java:11997) at com.petterp.floatingx.util._FxExt.setVisibility(FxExt.kt:39) at com.petterp.floatingx.imp.system.FxSystemPlatformProvider.hide(FxSystemPlatformProvider.kt:51) at com.petterp.floatingx.imp.FxBasisControlImp.hide(FxBasisControlImp.kt:63)

这明显是你非UI线程调用了 hide()啊,报错很明显。

至于第一个问题,进程杀死了,浮窗肯定就没了啊,除非你进程没杀死,很有可能只是你的系统做了其他魔改操作,此时进程并没真正被kill,即划掉并不意味kill掉App。
回到问题的解决方向上,浮窗本身没法去监控进程是否被kill了,虽然理论上可以通过监听Activity存在的个数获得一个不咋靠谱的基准,但这样的操作,我认为悬浮窗本身并不应该去支持。

from floatingx.

HelloJokerWord avatar HelloJokerWord commented on July 20, 2024

极端情况下遇到个这个。 android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:9995) at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:1965) at android.view.View.requestLayout(View.java:26038) at android.view.View.setFlags(View.java:16554) at android.view.View.setVisibility(View.java:11997) at com.petterp.floatingx.util._FxExt.setVisibility(FxExt.kt:39) at com.petterp.floatingx.imp.system.FxSystemPlatformProvider.hide(FxSystemPlatformProvider.kt:51) at com.petterp.floatingx.imp.FxBasisControlImp.hide(FxBasisControlImp.kt:63)

这明显是你非UI线程调用了 hide()啊,报错很明显。

至于第一个问题,进程杀死了,浮窗肯定就没了啊,除非你进程没杀死,很有可能只是你的系统做了其他魔改操作,此时进程并没真正被kill,即划掉并不意味kill掉App。 回到问题的解决方向上,浮窗本身没法去监控进程是否被kill了,虽然理论上可以通过监听Activity存在的个数获得一个不咋靠谱的基准,但这样的操作,我认为悬浮窗本身并不应该去支持。

好的,谢谢了

from floatingx.

HelloJokerWord avatar HelloJokerWord commented on July 20, 2024

极端情况下遇到个这个。 android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:9995) at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:1965) at android.view.View.requestLayout(View.java:26038) at android.view.View.setFlags(View.java:16554) at android.view.View.setVisibility(View.java:11997) at com.petterp.floatingx.util._FxExt.setVisibility(FxExt.kt:39) at com.petterp.floatingx.imp.system.FxSystemPlatformProvider.hide(FxSystemPlatformProvider.kt:51) at com.petterp.floatingx.imp.FxBasisControlImp.hide(FxBasisControlImp.kt:63)

这明显是你非UI线程调用了 hide()啊,报错很明显。

至于第一个问题,进程杀死了,浮窗肯定就没了啊,除非你进程没杀死,很有可能只是你的系统做了其他魔改操作,此时进程并没真正被kill,即划掉并不意味kill掉App。 回到问题的解决方向上,浮窗本身没法去监控进程是否被kill了,虽然理论上可以通过监听Activity存在的个数获得一个不咋靠谱的基准,但这样的操作,我认为悬浮窗本身并不应该去支持。

第一个问题可能我没表达好。
就是我的步骤:
1、clone源码安装demo
2、然后启动并显示全局悬浮窗,且给予应用外显示权限
3、此时我home键退到手机桌面,悬浮窗显示着
4、然后我menu菜单手动清理掉后台应用。

然后其实app和你说的一样,其实没有杀死的,悬浮窗还显示着,我目前确实就是监控activity的数量去控制主动关闭悬浮窗了。
就是想着大佬这边有没有更优雅的方式监听上面第四个步骤,然后自动关掉悬浮窗,哈哈

from floatingx.

Petterpx avatar Petterpx commented on July 20, 2024

极端情况下遇到个这个。 android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:9995) at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:1965) at android.view.View.requestLayout(View.java:26038) at android.view.View.setFlags(View.java:16554) at android.view.View.setVisibility(View.java:11997) at com.petterp.floatingx.util._FxExt.setVisibility(FxExt.kt:39) at com.petterp.floatingx.imp.system.FxSystemPlatformProvider.hide(FxSystemPlatformProvider.kt:51) at com.petterp.floatingx.imp.FxBasisControlImp.hide(FxBasisControlImp.kt:63)

这明显是你非UI线程调用了 hide()啊,报错很明显。
至于第一个问题,进程杀死了,浮窗肯定就没了啊,除非你进程没杀死,很有可能只是你的系统做了其他魔改操作,此时进程并没真正被kill,即划掉并不意味kill掉App。 回到问题的解决方向上,浮窗本身没法去监控进程是否被kill了,虽然理论上可以通过监听Activity存在的个数获得一个不咋靠谱的基准,但这样的操作,我认为悬浮窗本身并不应该去支持。

第一个问题可能我没表达好。 就是我的步骤: 1、clone源码安装demo 2、然后启动并显示全局悬浮窗,且给予应用外显示权限 3、此时我home键退到手机桌面,悬浮窗显示着 4、然后我menu菜单手动清理掉后台应用。

进程未kill掉,建议自行排查

from floatingx.

HelloJokerWord avatar HelloJokerWord commented on July 20, 2024

极端情况下遇到个这个。 android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:9995) at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:1965) at android.view.View.requestLayout(View.java:26038) at android.view.View.setFlags(View.java:16554) at android.view.View.setVisibility(View.java:11997) at com.petterp.floatingx.util._FxExt.setVisibility(FxExt.kt:39) at com.petterp.floatingx.imp.system.FxSystemPlatformProvider.hide(FxSystemPlatformProvider.kt:51) at com.petterp.floatingx.imp.FxBasisControlImp.hide(FxBasisControlImp.kt:63)

这明显是你非UI线程调用了 hide()啊,报错很明显。
至于第一个问题,进程杀死了,浮窗肯定就没了啊,除非你进程没杀死,很有可能只是你的系统做了其他魔改操作,此时进程并没真正被kill,即划掉并不意味kill掉App。 回到问题的解决方向上,浮窗本身没法去监控进程是否被kill了,虽然理论上可以通过监听Activity存在的个数获得一个不咋靠谱的基准,但这样的操作,我认为悬浮窗本身并不应该去支持。

第一个问题可能我没表达好。 就是我的步骤: 1、clone源码安装demo 2、然后启动并显示全局悬浮窗,且给予应用外显示权限 3、此时我home键退到手机桌面,悬浮窗显示着 4、然后我menu菜单手动清理掉后台应用。

进程未kill掉,建议自行排查

是的是的,我的问题,是我以为清掉后台应用就杀掉了,哈哈。

from floatingx.

Petterpx avatar Petterpx commented on July 20, 2024

极端情况下遇到个这个。 android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:9995) at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:1965) at android.view.View.requestLayout(View.java:26038) at android.view.View.setFlags(View.java:16554) at android.view.View.setVisibility(View.java:11997) at com.petterp.floatingx.util._FxExt.setVisibility(FxExt.kt:39) at com.petterp.floatingx.imp.system.FxSystemPlatformProvider.hide(FxSystemPlatformProvider.kt:51) at com.petterp.floatingx.imp.FxBasisControlImp.hide(FxBasisControlImp.kt:63)

这明显是你非UI线程调用了 hide()啊,报错很明显。
至于第一个问题,进程杀死了,浮窗肯定就没了啊,除非你进程没杀死,很有可能只是你的系统做了其他魔改操作,此时进程并没真正被kill,即划掉并不意味kill掉App。 回到问题的解决方向上,浮窗本身没法去监控进程是否被kill了,虽然理论上可以通过监听Activity存在的个数获得一个不咋靠谱的基准,但这样的操作,我认为悬浮窗本身并不应该去支持。

第一个问题可能我没表达好。 就是我的步骤: 1、clone源码安装demo 2、然后启动并显示全局悬浮窗,且给予应用外显示权限 3、此时我home键退到手机桌面,悬浮窗显示着 4、然后我menu菜单手动清理掉后台应用。

进程未kill掉,建议自行排查

是的是的,我的问题,是我以为清掉后台应用就杀掉了,哈哈。

极端情况下遇到个这个。 android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:9995) at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:1965) at android.view.View.requestLayout(View.java:26038) at android.view.View.setFlags(View.java:16554) at android.view.View.setVisibility(View.java:11997) at com.petterp.floatingx.util._FxExt.setVisibility(FxExt.kt:39) at com.petterp.floatingx.imp.system.FxSystemPlatformProvider.hide(FxSystemPlatformProvider.kt:51) at com.petterp.floatingx.imp.FxBasisControlImp.hide(FxBasisControlImp.kt:63)

这明显是你非UI线程调用了 hide()啊,报错很明显。
至于第一个问题,进程杀死了,浮窗肯定就没了啊,除非你进程没杀死,很有可能只是你的系统做了其他魔改操作,此时进程并没真正被kill,即划掉并不意味kill掉App。 回到问题的解决方向上,浮窗本身没法去监控进程是否被kill了,虽然理论上可以通过监听Activity存在的个数获得一个不咋靠谱的基准,但这样的操作,我认为悬浮窗本身并不应该去支持。

第一个问题可能我没表达好。 就是我的步骤: 1、clone源码安装demo 2、然后启动并显示全局悬浮窗,且给予应用外显示权限 3、此时我home键退到手机桌面,悬浮窗显示着 4、然后我menu菜单手动清理掉后台应用。

然后其实app和你说的一样,其实没有杀死的,悬浮窗还显示着,我目前确实就是监控activity的数量去控制主动关闭悬浮窗了。 就是想着大佬这边有没有更优雅的方式监听上面第四个步骤,然后自动关掉悬浮窗,哈哈

其他方式的话,目前的确没有想到,因为Android没有提供显式的api给开发者通知当前应用已经kill掉。
回到你问题本身,为什么会存在划掉应用,进程没有kill掉,比较奇怪。

from floatingx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.