Skip to content

FR:Kotlin/KMP Rewrite #16

Description

@Cultsonfire

hello, first of all the app is awesome and really fulfills all the demands for a GUI+JSON based sing-box client and routing is the best part I found.
Thanks a lot for the app.
Since L×Box is Dart/Flutter, I'm seeing high resource usage, like mihomo level high. I know, I saw high usage when using manual selection and in auto selection it is even higher, and the UI process must be contributing a lot into it.
Also, I sort of added 800+ proxies, and so the scrollview was lagging a lot and I don't have a low-end device [A16, One UI 8.0, Exynos 2100].

I believe these issues can surely be solved with some optimization but I'm sure it would be negligible, but if the project would be rewritten in Kotlin/KMP, the UI process would be native and more performant and the UI process can be killed when the user puts the app in background and vpnconnection itself would just persist.
I have experienced this in apps like husi [sing-box] and YumeBox [mihomo]. Both are written in KMP and Kotlin. Apps like YumeBox explicitly mention it inside the app and provide a toggle for it.
As much as I know, this can't be supported on Dart/Flutter, the UI process stays and stays alive, even in background, when not needed.

While suggesting this, it is clear to me that it is not as easy as I described and rewrite is very difficult but I have been closely monitoring the project and I came back to install and try again to version 2.5.1 and progress in development is really noticeable. So, thoughts about a rewrite are considerable and fair only in early development stages.
I surely don't ask it to be immediate but please take it into consideration.

Thank you

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions