Frequent pauses -- smells like resource leak

In the latest version of both the Chinese and Japanese apps, I’ve experienced a number of momentary hangs – times when I tap the screen and nothing happens.

Most often this happens between cards. I’ll be looking at the answer, I’ll tap the screen, and then nothing happens. I might tap once or twice more, thinking my first tap was missed, after which the screen finally changes to the next card and the extra taps register as (usually incorrect) input to the next card.

When I experience these pauses, it is usually about a second or so. Sometimes 2-3. Once when this happened I tried going back and re-advancing: it was quick the next time, but I went back and forth a few times and occasionally I got a delay

The most pronounced case was when starting a review. I pressed the start button and the app froze mid-press animation:

It was frozen for several seconds – enough for me to think “this is odd” and decide it was worth screenshotting, shortly after which it spontaneously resumed. I’m guessing 6-7 seconds elapsed.

I tried force quitting one of the apps, and as best as I could tell it returned to being snappy.

After restarting, the app eventually started experiencing longer and more frequent pauses (e.g. many 5+ second pauses while studying, even on things like clicking to reveal hidden definitions/readings). Since this seems like a fairly recent development, and Skritter hasn’t updated for a couple weeks, I did some poking around. It looks like Android System WebView updated on Feb 4th (my version: 80.0.3987.87). It’s hard to say for certain, but I don’t remember experiencing these problems before then.

If you’re relying on that, perhaps it is buggy or there is a bad interaction between it and Skritter.

I’m experiencing the same on my Pixel 3 XL: lags / freeze between cards:

  • Skritter Version 3.3.6
  • Android Version 10 (Security patch: 5 February 2020)
  • Android System WebView Version 80.0.3987.87

Thanks for the detailed reports. @powelliptic we do use the system webview under the hood and it does sound like it’s possible this could be causing the issue, especially if it’s something noticed recently. It looks like I’m currently running version 79.0.3945.136 of the system webview which does not appear to be updatable yet from my Samsung Galaxy S10. I’m going to see if I can get that on my device to try and reproduce.

Let me know if you notice any other patterns that might help me reproduce the issue. Thanks!

I did manage to get the latest Android System WebView installed a few days ago and noticed today that a new version is out that specifically states speedy performance improvements. I’d check to see if the update is available (not sure if it’s only a beta release or not).

After updating to the Feb 11th version, I still eventually get multi-second hangs between cards.

(From what I can tell, “Bug fixes and speedy performance improvements” is literally the description of every new version of WebView.)

Bummer, worth a try! I’ve yet to be able to reproduce any noticeable freeze in the wild on my device, but I have some questions that might help narrow things down a bit.

  1. Are you still noticing the freeze before even clicking the “start reviewing” button? If so how often does it occur?
  2. When you’re studying how frequently are the freezes occurring?
  3. Have you noticed any other patterns (ie. on multiple character writing cards, only after a definition card)?
  4. Are you frequently minimizing the app in the middle of a review session or just doing them in one go?
  1. I only saw a significant “start reviewing” freeze once.
  2. When studying, the freezes are intermittent. I might get a pause, then the next few cards will be fine. But I don’t think it’s a given that after a pause you get a reprieve. It does take time after a fresh start before you start seeing delays, though. I don’t remember exactly when it started after yesterday’s upgrade, but I think I was seeing delays about 50 cards in, after which it was definitely recurring.
  3. There really isn’t any pattern that I can tell other than it typically happens when switching cards. The type of card doesn’t make a difference. I have seen in at other times, though, such as when clicking to reveal a hidden reading/definition, at the very start, and probably a few other low-frequency (ergo non-memorable) UI interactions. The variety makes it seem like the immediate cause is something beneath Skritter’s logic. I have never seen a pause while drawing a character, though, which is interesting given that probably represents a significant percentage of my UI interaction events.
  4. Sometimes, sometimes not. It doesn’t seem to make a difference, except that leaving the app can cause a restart, after which the problem doesn’t appear right away.
1 Like

Update: I’m still seeing the hang, but may have found a way to reproduce it on demand.

I was scrolling through the sections of a list that has a lot of sections (around 35-40) and experienced one of the usual hangs mid-scroll. i.e. It suddenly stopped and didn’t react to input for about 5 seconds.

The cool part was that if I sat there and repeatedly scrolled up and down it would freeze again in a matter of seconds. The one catch is that this was after the point where I had started experiencing delays while reviewing. Trying this on a freshly started app had no effect.

(Currently on WebView 80.0.3987.119)