[6.2.6]
[taxi-u-p] [专场动画]
This commit is contained in:
@@ -135,7 +135,15 @@ class BigFrameAnimatorContainer (resId: Int,
|
||||
while (true) {
|
||||
val startTime = System.currentTimeMillis()
|
||||
val (bitmap1, options) = writeQueue.take()
|
||||
val index: Int = next
|
||||
mIndex++
|
||||
if (mIndex >= mFrames.size){
|
||||
mIndex = 0
|
||||
if(isOnce){
|
||||
stop()
|
||||
return@submit
|
||||
}
|
||||
}
|
||||
val index: Int = mIndex
|
||||
val imageRes: Int = mFrames[index]
|
||||
var bitmap: Bitmap? = null
|
||||
try {
|
||||
@@ -169,11 +177,29 @@ class BigFrameAnimatorContainer (resId: Int,
|
||||
|
||||
@Synchronized
|
||||
fun reStart(){
|
||||
resetQueue()
|
||||
mIndex = 0
|
||||
mIsRunning = false
|
||||
start()
|
||||
}
|
||||
|
||||
private fun resetQueue(){
|
||||
val temp = mutableListOf<Pair<Bitmap, BitmapFactory.Options>>()
|
||||
|
||||
val writeIterator = writeQueue.iterator()
|
||||
while (writeIterator.hasNext()) {
|
||||
temp.add(writeIterator.next())
|
||||
}
|
||||
|
||||
val readIterator = readQueue.iterator()
|
||||
while (readIterator.hasNext()) {
|
||||
temp.add(readIterator.next())
|
||||
}
|
||||
for (pair in temp) {
|
||||
writeQueue.add(pair)
|
||||
}
|
||||
}
|
||||
|
||||
fun release(){
|
||||
mShouldRun = false
|
||||
decodeImage?.cancel(true)
|
||||
|
||||
Reference in New Issue
Block a user