编程知识 cdmana.com

350 questions d'entrevue Android partage, technologie d'architecture de cache

Avant de commencer à répondre,Commençons par un bref aperçuLinuxTous les processus existantsIPCComment:

1. **Tuyauterie:**Assigner unpageTaille de la mémoire,La taille du cache est limitée;
2. File d'attente des messages:Dupliquer l'information deux fois,En plusCPUConsommation;Communications fréquentes ou informatives inappropriées;
3. Mémoire partagée:Pas besoin de copier,Le tampon partagé est directement attaché à l'espace d'adresse virtuel du processus,Vite!;Mais la synchronisation entre les processus ne peut pas être réalisée par le système d'exploitation,Les processus doivent être résolus à l'aide d'outils de synchronisation;
4. Socket:Comme interface plus générique,Faible efficacité de transmission,Principalement utilisé pour les communications sans machine ou à travers le réseau;
5. Sémaphore:Souvent utilisé comme mécanisme de verrouillage,Empêcher un processus d'accéder à une ressource partagée,D'autres processus accèdent également à la ressource.Donc,,Principalement comme moyen de synchronisation entre les processus et entre les différents fils dans le même processus.
6. Signal: Non applicable à l'échange d'informations,Plus approprié pour le contrôle des interruptions de processus,Comme l'accès illégal à la mémoire,Tuer un processus, etc.;

AndroidLe noyau est également basé surLinuxNoyau,Pourquoi ne pas adopterLinuxProcessus existantsIPCEt le plan,Est - ce que...LinuxTant d'excellents membres de la communauté ne tiennent pas compte du fait qu'il existeBinderUn meilleur programme comme celui - ci,- Oui.googleC'est trop bêteBC'est ça??La vérité est que ce n'est pas le cas,Regardez bien en bas,Vous verrez.


Ensuite, répondez positivement à cette question,De5Angle pour agrandir la paireBinderAnalyse de:

(1) Du point de vue de la performance **Nombre de copies de données:**Binder Une copie des données n'est nécessaire qu'une seule fois , Et les tuyaux 、File d'attente des messages、SocketTout est nécessaire.2Une fois, Mais le mode mémoire partagée n'a pas besoin d'une seule copie de mémoire ; Du point de vue de la performance ,Binder Performance après mémoire partagée .

(2) Du point de vue de la stabilité
BinderEst basé surC/SArchitecture,Une explication simpleC/SArchitecture, C'est le client (Client) Et le serveur (Server) L'architecture de la composition ,Client Ce qu'il faut , Envoyé directement à Server Pour finir , Structure claire et Claire ,ServerFin etClientLes extrémités sont relativement indépendantes,Bonne stabilité; Et l'implémentation de la mémoire partagée est compliquée , Il n'y a pas de différence entre le client et le serveur , La nécessité de tenir pleinement compte de la synchronisation simultanée de l'accès aux ressources critiques , Sinon, des problèmes tels que l'impasse peuvent survenir ; Du point de vue de la stabilité ,Binder Architecture supérieure à la mémoire partagée .

Juste à partir des deux points ci - dessus ,Chacun a ses avantages et ses inconvénients, Pas assez pour supporter google Pour adopter binderDeIPCMécanismes, La raison la plus importante est que :

(3) Du point de vue de la sécurité
La traditionLinux IPCLe récepteur deUID/PID,Pour ne pas être en mesure d'identifier l'autre partie;EtAndroid En tant que système open source , Avec beaucoup de plateformes de développement ,App De nombreuses sources , La sécurité des téléphones cellulaires est donc d'autant plus importante ;Pour les utilisateurs ordinaires, Je ne veux jamais partir de App Les magasins téléchargent des données furtives 、 L'arrière - plan cause des problèmes tels que la consommation d'énergie des téléphones portables ,La traditionLinux IPC Aucune protection , Entièrement garanti par le Protocole supérieur .

AndroidChaque application installée reçoit son propreUID,Donc le processusUIDEst un signe important pour identifier le processus,Précédemment mentionnéC/SArchitecture,AndroidLe système n'est exposé qu'à l'extérieurClientFin,ClientEnd envoie la tâche àServerFin,ServerLe terminal contrôlera la politique en fonction des permissions,JugementUID/PIDSi les droits d'accès sont respectés,À l'heure actuelle, le contrôle des droits est souvent effectué par l'intermédiaire d'une boîte de dialogue de demande de droits pop - up,Laissez l'utilisateur choisir d'exécuter ou non.Android 6.0,Aussi appeléAndroid M,In6.0Le système précédent étaitAppLors de la première installation,Il va toutAppToutes les permissions impliquées sont demandées en une seule fois,Il suffit de regarder et de trouver beaucoupAppPas de carnet d'adresses et de SMS,Mais il sera inclus dans cette autorisation unique,Laisser l'utilisateur refuser ne doit pas,Parce qu'après le refusAppNe fonctionne pas correctement,Et une fois autorisé,L'application peut faire n'importe quoi.

Pour répondre à cette question,googleInAndroid MAjustement effectué,Il n'est plus nécessaire de demander toutes les permissions lors de l'installation,Mais dansAppEn cours d'exécution,Quelles permissions sont nécessaires, puis cochez la case pour demander à l'utilisateur s'il donne les permissions appropriées,Plus de contrôle sur les permissions,Plus de contrôle pour l'utilisateur,Mais...**Il y a aussi un autre endroit où les utilisateurs critiquent,C'est - à - dire qu'il y a eu une augmentation significative du nombre de rebonds pour les demandes de permission.**PourAndroid MSur la plateforme,CertainsAppLes développeurs peuvent écrire des choses qui font que le téléphone rebondit anormalement souventApp,Tentative jusqu'à l'autorisation de l'utilisateur,C'est insupportable pour l'utilisateur,Ce n'est pas seulementApp,EtAndroidLes fabricants de systèmes et de téléphones portables,Certains utilisateurs peuvent sauter la poudre,Il faut encore beaucoup deAndroidLes développeurs et les fabricants de combinés travaillent ensemble,Construire ensemble la sécurité et l'expérienceAndroidTéléphone portable.

Enfin

J'espère que cet article vous éclairera,Si vous avez des suggestions d'entrevue, veuillez également laisser un message à tout le monde.

C'est bon,Voici le partage d'aujourd'hui,Si vous avez des questions au sujet de l'entrevue,Ou juste après l'obtention du diplôme et des années de travail confus ne savent pas comment se préparer à l'entrevue et sortir de la situation actuelle pour s'améliorer,Je ne sais pas comment planifier mon avenir.,Venez voir comment les pairs ont fait une percée,Comment apprendre,Pour intégrer leurs entrevues et leur expérience de travail afin d'améliorer leurs plans d'entrevue et de carrière futurs..

 CodeChinaProjet Open Source:《AndroidRésumé des notes d'étude+Vidéo d'architecture mobile+Le vrai problème de l'interview de Dachang+Code source du projet》

350Dow.AndroidPartage des questions d'entrevue,Technologie de l'architecture de cache_Android

C'est bon~Si vous voyez ici,Si vous pensez que l'article est bien écrit, faites un compliment.?Si vous pensez que cela vaut la peine d'être amélioré,Laissez - moi un message..Je vais m'enquérir.,Correction insuffisante.Merci beaucoup..

350Dow.AndroidPartage des questions d'entrevue,Technologie de l'architecture de cache_Programmeur_02

Pourquoi certaines personnes sont toujours meilleures que toi?,C'est parce qu'il est bon en lui - même et qu'il continue d'essayer d'être meilleur.,Et est - ce que tu te contentes de ce qui se passe?!J'espère que vous lirez ceci pour un petit compliment et l'attention que je,La technologie sera mise à jour plus tard,Merci pour votre soutien!

版权声明
本文为[Chez le programmeur]所创,转载请带上原文链接,感谢
https://cdmana.com/2021/09/20210915054041254d.html

Scroll to Top