Comments (4)
Hello, thanks for using Falcon.
This looks weird and I guess its annoying, but I don't think Falcon directly causes this, I believe Falcon crash is just a symptom of other problem.
Briefly looking online this exception is not new and was experienced by many people. What I can guess it is a race condition when Falcon takes the screenshot, but there could be many causes.
Could you please provide test case reproducing the crash? Without that there is very little I can do.
from falcon.
Hi,
Thank you!
There is no pattern or test case I ever found to reproduce the crash, but it mostly happens when I swipe (up|down|left|right) and tap faster to navigate through items in the lists and tabs. While testing, I am hardly able to reproduce it doing the fast interaction but in live I can see many crashes related to this particular crash on crashlytics, and when I remove falcon, this crash does not occur.
As mentioned, you can try to reproduce the crash on any app which has list of items in a list view and tabs which can be swipe-able in all directions and list item has some images and texts which are being loaded from the internet at runtime, and you can try few fast sessions:
FrameLayout, CoordinatorLayout, RelativeLayout, TabLayout, android.support.v4.widget.NestedScrollView, AppBarLayout, Custom Views, CoordinatorLayout, etc.
from falcon.
Hello again,
I think this is more likely a problem within Android layouts, which is indirectly triggered by Falcon, because in the end everything Falcon does is calling View.draw(Canvas canvas)
. While looking at this method docs you can find the following:
...
* The view must have already done a full layout before this function is
* called.
...
By searching I found several people having this issue in different situations and my guess is you try to do screenshot too early within layout creation and since it happens rarely my thoughts go to concurrency issue.
One of the ideas would be to ensure activity is resumed before taking screenshot, but this goes beyond responsibilities of Falcon so I would recommend trying it by yourself.
However this is just a guess and I cannot confirm this without runnable test, which will at least sometimes fail. Therefore no-fix so far unfortunately.
from falcon.
@zeeshanalisayyed Hi, did you manage to solve this problem?
from falcon.
Related Issues (20)
- Crash when call not in UI Thread HOT 2
- FalconSpoon class present in 2.0.0 release HOT 1
- java.lang.NoClassDefFoundError: Failed resolution of: Lcom/squareup/spoon/SpoonRule HOT 4
- Update Readme HOT 2
- Usage of Undocumented API (API 29) HOT 10
- Impossible to capture shadows around components HOT 3
- Shading or packaging Spoon dependency HOT 4
- Falcon enhancement to work with AirBnb's Lottie animations HOT 4
- Screenshot not Capturing Overlay HOT 5
- can not cature webview HOT 2
- Add Kotlin examples
- Fails to capture screenshot with hardware bitmaps HOT 13
- Migrate to Maven Central HOT 8
- How to take screenshot of textureview alongwith otherviews ? HOT 1
- 高德地图使用问题 HOT 1
- react-native webview canvas Black screen HOT 1
- Values are not getting reflected in screenshot for AutoCompleteTextView and TextInputEditText HOT 2
- PreviewView HOT 1
- com.jraska.falcon.Falcon$UnableToTakeScreenshotException: Unable to take screenshot to file HOT 1
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 falcon.