App Failures By Koin: Story 2— Unreliable Dynamic Loading
The Startup
Published in
8 min readDec 14, 2020


This story will show you the problems of dynamic loading/unloading of Koin modules.

Image on Pinterest

In the context of application, I’d rephrase this quote into: “You are responsible for those modules you have loaded.” But not that fast, let’s check what’s under the hood.

The Roadmap

As a true lover of Koin DI framework, in this series of stories, I’d like to share some of the true app failures my team gained when we started using Koin. (Most of them were found in production, unfortunately…)

Story 1 — Be Careful With Singletons

Story 2 — Unreliable Dynamic Loading (we are here)

Story 3 — Issue With sharedViewModel()

Story 4 — Does It Worth Sharing a ViewModel?

… to be continued…

If you’re not yet familiar with Koin, please first read Story 1 from this series. Otherwise, let’s continue and see what’s the specific of application we’re developing and how we’re using the dynamic loading there.


I’d highly recommend not to skip this part, but as always — it’s up to you 😏

To begin with, not every Android application needs the dynamic loading of modules in a…