Comments (8)
I am going to study this problem to see what can be causing this leak.
from loadingbuttonandroid.
I've got a leak of 2MB a couple of times. It seems to only leak 1 out of 10 times, I'm still trying to see what exactly is causing the issue. It may be my implementation. I have two of these buttons in a RecyclerView
.
from loadingbuttonandroid.
I'm going to close this for now because I think it may have been due to me not disposing my Observable
s properly. I have been unable to reproduce since proper GC. LeakCanary must have been falsely pointing to this library as I started the Observable
s on button press,
from loadingbuttonandroid.
@leandroBorgesFerreira me again.
I've created a fork to show when this leaks: https://github.com/jbmlaird/LoadingButtonAndroidMemoryLeak
It seems to leak when you do any action on another thread, regardless of whether you call revertAnimation()
on the UI Thread or not.
If you go into the SecondActivity
press both buttons and then return to the first Activity you should see the LeakCanary prompt appear and then about a minute later you'll get a notification.
EDIT:
I believe I have fixed the memory leak by exposing a dispose()
method in the AnimatedButton
interface. I'll create a pull request when finished so you can decide whether you want to use my implementation.
from loadingbuttonandroid.
Thanks for the contribution jbmlaird. I will wait for your pull request
from loadingbuttonandroid.
I've created the pull request: #9
This is just a quick fix that I implemented to stop it leaking but you might want to call it internally somewhere. Facebook has an equivalent private method here but theirs still leaks unless you call it yourself
Thanks again for the great library!
from loadingbuttonandroid.
I merged your pull request. You can use the 1.7.0 version to use the dispose method. I take a look at the leaks those days
from loadingbuttonandroid.
Nice one, thank you :)
from loadingbuttonandroid.
Related Issues (20)
- width and height must be > 0 HOT 2
- Button loading HOT 2
- Update the text HOT 2
- Cannot set default background color HOT 4
- JCenter shutting down HOT 1
- Crash - lateinit property initialState has not been initialized HOT 2
- Button disappears after animation when width is set to wrap_content
- JCenter is at end of life HOT 3
- Installation was not sucessful HOT 2
- Failed to resolve: br.com.simplepass:loading-button-android:2.2.0 <a href="open.dependency.in.project.structure">Show in Project Structure dialog</a> Affected Modules: <a href="openFile:C:/Users/Tabularasha/AndroidStudioProjects/AssistX/app/build.gradle">app</a>
- startAnimation() does not work with viewBinding HOT 1
- cannot be cast to kotlin.jvm.functions.Function0 HOT 3
- Move from JCenter to other repository HOT 3
- Button 6 Issue.
- Button Corner Radius Reverts HOT 7
- support rtl
- medium setup thro misleading
- Memory leak on version 2.2.0
- Loading animation
- The circle shape of button when loading is not maintained when the button background is managed dynamically
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 loadingbuttonandroid.