It always happens that the copy speed goes up→down→up→...→absurdly up.

Not really...
There is this thing that the update interval is 1 sec throughout but at last sec... If progress completes before a second, then it's updated at that moment only instead of waiting for a whole second to update which I guess is an expected behavior.
Where's the waiting code?
There's no waiting code, I'm saying that we don't wait for a second to complete and post update whenever the progress actually completes. Maybe the copy speed actually was that much for you in that last second?
It happens always, I don't think it's my phone.
There is this thing that the update interval is 1 sec throughout but at last sec...
Where's the waiting code for the "update interval of 1 sec".
One day, I'll have to edit that class...
Also happens encripting, I suppose it should be fixed, it doesn't seem real:

Can't reproduce, please try to reproduce on a different device.
Alright, I can reproduce this issue with the changes in your PR #876
Can't reproduce on master.
I'll check.
Nope, on master also occurs, where did you copy the file? I did it on internal memory. Haven't really changed the way the code works in PR #876.
Yep, in internal memory. Can't reproduce on master but in your PR.
Haven't really changed the way the code works in PR #876.
@TranceLove could you test?
Sure, will look into it tomorrow. It's late in the night here now.
Had been battling during the day, so I only tried copy over SFTP for a quick verification.
I think #916 also helped on fixing the problem however.
Before applying.
I suppose nobody will believe 513MB can be copied to an Android device [emulator though] at lightspeed? I think this behaviour is the same as what #916 tries to fix.

After

If #876 is also needed, you will have to fix the conflicts with #916... but before it happens, #916 needs to be accepted, which also has its own problem to fix first.
I'm on finalising #916
Then #876 isn't causing this issue and can be pulled...
Cannot replicate anymore, closing.