RotatingText
RotatingText copied to clipboard
App starts freezing when implementing a RotatingText TextView
Could this be because I didn't set a size for the text? Is it really needed?
Tested on a Moto G5 plus.
Text size is not necessary, it takes the default value of nothing is explicitly set. Are you experiencing lag or the app freezes ? Does the app freeze on start or after some time ?
@harjot-oberai I think both... First lag, then the app freezes completely And I think the app freezes when trying to start the animation.
Another thing, could it be because I'm using it in a RecyclerView? But there's only 1 item in the RecyclerView using the RotatingText TextView
@harjot-oberai Or could it be because I want the whole text to be rotatable? I'm using it like:
rotatingText.setContent("?", rotatable);
Is it wrong?
@harjot-oberai Not exactly on start. I think it takes a second to load and setup the configuration, and then it starts freezing
I think the app is running out of memory. Mostly because of recycler view. Is your code on github ?
@harjot-oberai I don't think that's the issue. Disabling the RotatingText, makes the app go back to normal. And it's a new app, so there are no other tasks running or anything.
And the code is not on GitHub, and I cannot share it.
I am saying that the app is running out of memory because of the RotatingText. There are some performance issues in the library that need to be addressed. I will get back to you tomorrow; I will try to replicate the issue in my phone and try to fix it. Give me some time 👍 .
This widget has occupied 20% of the CPU and always freeze when it resumed.What's the cause?
yeah my app also freezes on resume... mostly when returning after a while.....
I tracked the problem to TimerTask
. For some reason the timer tasks seem to pause after some time, when the device goes idle. I will have to replace timer tasks with AlarmManager or something of that sort. If someone has any alternate way of invalidating the canvas continuously please feel free to share.
For every one second a new timer thread is being created. which is making more CPU usage every second. Can you solve the problem.
Typeface custom_font = Typeface.createFromAsset(getAssets(), "fonts/Reckoner_Bold.ttf"); RotatingTextWrapper rotatingTextWrapper = (RotatingTextWrapper) findViewById(R.id.custom_switcher); rotatingTextWrapper.setSize(35); Rotatable rotatable = new Rotatable(Color.parseColor("#FFA036"), 1000, " Why ?", "What ?", " How ?"); rotatable.setSize(35); rotatable.setAnimationDuration(500); rotatable.setTypeface(custom_font); rotatable.setInterpolator(new BounceInterpolator()); rotatingTextWrapper.setContent("?",rotatable );