Comments (5)
ANR-Watchdog does not makes any check at startup. If you call start()
on it, it will start.
That comment refers to the proposed usage in README:
if (!BuildConfig.DEBUG) {
new ANRWatchDog().start();
}
If you still want the watchdog enabled in debug when the debugger is not connected, simply changes this for:
if (!Debug,isDebuggerConnected()) {
new ANRWatchDog().start();
}
Be aware, however, that should you attach a debugger after startup, the watchdog will interpret debug pauses as ANRs.
To prevent this, you could set an ANRListener
:
new ANRWatchDog().setANRListener(new ANRWatchDog.ANRListener() {
@Override
public void onAppNotResponding(ANRError error) {
if (!Debug,isDebuggerConnected())
throw error;
}
}).start();
from anr-watchdog.
Yep, I understand all that. I'm proposing to use the last code block (if-throw) in the core of the library so it's handled automatically for everyone by default without the need for configuration.
It would also simplify basic library usage to one code line and no caveats.
from anr-watchdog.
That's a good idea ;)
There would have to be an option to revert to previous behaviour.
I'll work on that ;)
from anr-watchdog.
new ANRWatchDog().setANRListener(new ANRWatchDog.ANRListener() {
@OverRide
public void onAppNotResponding(ANRError error) {
if (!Debug,isDebuggerConnected())
throw error;
}
}).start();
I think this code should be the basic use, it meets all requirements.
from anr-watchdog.
Done in 1.2.0
.
Thanks for the report :)
from anr-watchdog.
Related Issues (20)
- Debug.waitForDebugger() conflict HOT 1
- Few queries - Not exactly issue HOT 1
- How can I get pid of Thread from ANRErro? HOT 1
- Anr is not being detected for android 8.0 HOT 1
- Real ANR timeout HOT 2
- Ggv
- Mm
- I too was having this issue earlier, it seems when you Log a non-runtime exception in crashlytics it creates nonfatal exceptions in fabric dashboard since ANRs don't necessarily crash an application. You need to toggle the switch in the fabric dashboard to show all exceptions including non-fatals as by default it only shows fatal exceptions.
- ANRError indeed is too big for Crashlytics. I convert errors into text files and upload to Firebase storage it is free and you can setup it from Android Studio.
- The fix is released in version `1.4.0`.
- Cannot download version 1.4.0 HOT 2
- 10786c7b4e6270fb3a65a89082a6581e8250e1f6
- It seems not so good to start the anr-watchdog on application oncreate
- Main thread is in runnable state but still ANR is detected. HOT 1
- Support for getStackTrace() and setStackTrace() HOT 1
- Race condition for _tick and _reported
- Suspiciously short list of threads when recording ANRError as Crashlytics non-fatal exception HOT 7
- Set Thread priority below main thread.
- anr debug exception please help me
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from anr-watchdog.