Investigate using the simple cache backend
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Oxide |
Triaged
|
High
|
Unassigned |
Bug Description
We currently use the default blockfile cache backend in Chromium, which is what desktop Chrome uses. Chrome on Android uses a different backend (the simple backend). See the design documents:
http://
http://
I noticed that the eviction algorithm for the blockfile backend doesn't begin until the application has been running for 10 minutes. I wonder if this means that it never runs on the device (assuming most users don't use an app continuously for more than 10 minutes and it gets killed by the lifecycle management whilst it's in the background).
Rather than fixing this, it might be worth investigating switching the backend to the simple backend. Ideally we would use the same backend on the device and desktop, so it should work well on the desktop too.
There are 2 consumers of the disk cache at the moment - the network cache (created in oxide::
We'd also need to make sure that the old cache is cleaned up on upgrade - that will probably require additional run-once code in Oxide
Related branches
- Chris Coulson: Approve
-
Diff: 93 lines (+19/-15)1 file modifiedshared/browser/oxide_browser_context.cc (+19/-15)
Changed in oxide: | |
status: | Triaged → In Progress |
Changed in oxide: | |
status: | In Progress → Triaged |
assignee: | Olivier Tilloy (osomon) → nobody |
Actually, there are 3 consumers - there's the GPU shader cache too. But I'm going to just disable this (the Android Chrome WebView already does too). It doesn't work well if an application doesn't specify a data path - Chromium ends up just sticking the shader cache in the current working directory.