Recommandé : "Résumé des questions d'entretien Android 2020 [Collection] "
De nombreuses personnes n'ont peut-être jamais travaillé dans une entreprise Internet auparavant, ou ont peut-être travaillé dans une entreprise Internet pendant une courte période de temps. Je me demande quelles questions sont posées lors des entretiens techniques. dans les sociétés Internet ? De plus, je n'étais peut-être pas complètement préparé. J'ai été déconcerté par les questions de l'intervieweur quelques tours après l'entretien et j'ai abouti à un échec désastreux.
Ce qui suit est un résumé des questions d'entretien Android que j'ai compilées. Pour des raisons d'espace, je ne liste les questions que dans la section technologique chaude. Le reste des questions d'entretien sera mis à jour plus tard. et restez informé. J'ai mis à jour mes points de connaissances, et il m'a également fallu beaucoup de temps pour compiler cette collection d'interviews !
Componentization : consiste à diviser une application en plusieurs modules, chaque module est un composant, ou il peut s'agir d'une bibliothèque de base. est fourni pour que les composants dépendent. Au cours du développement, certains composants peuvent être débogués séparément. Les composants n'ont pas besoin de dépendre les uns des autres mais peuvent s'appeler les uns les autres. Une fois finalement publiés, tous les composants sont regroupés dans un apk sous la forme d'une bibliothèque. par la dépendance principale du projet APP.
Modules pour chaque entreprise après la composantisation peut être une application distincte (isModuleRun=false). Lors de la publication du package, chaque module métier est utilisé comme une dépendance de bibliothèque. Ceci est entièrement contrôlé par une variable dans le projet racine gradle.properties, isModuleRun=true. Le statut isModuleRun est différent, et l'application de chargement et AndroidManifest sont différents pour distinguer s'il s'agit d'un APK indépendant ou d'une bibliothèque.
Lorsque nous créons plusieurs modules, comment résoudre les mêmes conflits de ressources dans le fichier la fusion des noms. Les noms en double des fichiers de ressources du module métier et du module de base provoqueront des conflits :
Chaque module a app_name, dans la construction de chaque composant. pour vérifier de force le préfixe du nom de ressource dans gradle. Corrigez le préfixe de ressource de chaque composant. Cependant, la valeur resourcePrefix ne peut limiter que les ressources en XML et ne peut pas limiter les ressources d'image. Comment référencer certaines bibliothèques et classes d'outils communes entre plusieurs modules
Après la composantisation, les modules sont isolés les uns des autres, comment effectuer des sauts et des méthodes d'interface utilisateur Pour appeler, vous pouvez utiliser le routage des frameworks tels que Alibaba ARouter ou WMRouter de Meituan
Nous le savons. les composants sont liés, alors comment obtenir les paramètres transmis par d'autres modules lors du débogage seul
Application
En ce qui concerne le plug-in, nous devons mentionner le problème que le nombre de méthodes dépasse 65535. Nous pouvons le résoudre. grâce à la sous-traitance Dex, et en même temps cela peut être résolu en utilisant le développement de plug-ins. Le concept du plug-in est que l'application hôte charge et exécute l'application plug-in.
Dans un grand projet, afin d'avoir une division claire du travail, différentes équipes sont souvent responsables de différentes applications plug-in, de sorte que la division du travail soit plus clair. Chaque module est encapsulé dans différents APK de plug-in et différents modules peuvent être compilés séparément, ce qui améliore l'efficacité du développement. Résolution du problème ci-dessus du nombre de méthodes dépassant la limite. Les bugs en ligne peuvent être résolus en lançant de nouveaux plug-ins pour obtenir un effet « hot fix ». Réduction de la taille de l'APK hôte.
Les applications développées sous forme de plug-ins ne peuvent pas être lancées sur Google Play, ce qui signifie qu'il n'y a pas de marché à l'étranger.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!