mdgspace / RotatingText

A periodic text updating library
MIT License
1.59k stars 168 forks source link

App starts freezing when implementing a RotatingText TextView #3

Open jahirfiquitiva opened 7 years ago

jahirfiquitiva commented 7 years ago

Could this be because I didn't set a size for the text? Is it really needed?

Tested on a Moto G5 plus.

harjot-oberai commented 7 years ago

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 ?

jahirfiquitiva commented 7 years ago

@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

jahirfiquitiva commented 7 years ago

@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?

jahirfiquitiva commented 7 years ago

@harjot-oberai Not exactly on start. I think it takes a second to load and setup the configuration, and then it starts freezing

harjot-oberai commented 7 years ago

I think the app is running out of memory. Mostly because of recycler view. Is your code on github ?

jahirfiquitiva commented 7 years ago

@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.

harjot-oberai commented 7 years ago

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 👍 .

Jason1234567890 commented 7 years ago

This widget has occupied 20% of the CPU and always freeze when it resumed.What's the cause?

arifullahjan commented 7 years ago

yeah my app also freezes on resume... mostly when returning after a while.....

harjot-oberai commented 7 years ago

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.

Durgaprasad1541996 commented 6 years ago

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 );

screenshot 8