[Here follows a description of what the app should do under which constrains]
I want a data-structure that searches if a string
e
This sounds like an ideal use for a bloom filter. If you're willing to allow the risk of something being falsely considered a word, you can condense your wordlist into an amount of memory as small or as large as you're willing to make it.
I had this same issue and ended up going with an "on-disk" trie. That is, I encode the data structure into a single file using byte offsets instead of pointers (packing the nodes in reverse order, with the "root" node being the last written).
It is fast to load by simply reading the file into a byte array, with trie traversal using offset values the same way it would pointers.
My 200K word set fits in 1.7 MB (uncompressed) with a 4 byte value in each word terminating node.