What are the primary constraints when executing an LLM on an Android device, and how do you mitigate them?