Empfohlen: „Zusammenfassung der Android-Interviewfragen 2020 [Sammlung] “
1, Android dvms Prozess und LinuxProzess, Ob die Prozesse der Anwendung das gleiche Konzept sind
DVM Bezieht sich auf zur virtuellen Maschine von dalivk. Jede Android-Anwendung läuft in einem eigenen Prozess und verfügt über ein unabhängiges Dalvik Virtual Maschineninstanz. Und jedes DVM ist ein Prozess in Linux , sodass es berücksichtigt werden kann als das gleiche Konzept.
2, simWelche Funktion hat die feststeckendeEF Datei
simDas Dateisystem der Karte verfügt über eigene Spezifikationen, hauptsächlich für die Kommunikation mit Mobiltelefonen, sim selbst kann ein eigenes Betriebssystem haben, EF wird zur Speicherung und Kommunikation mit Mobiltelefonen verwendet
3, welche Arten der Speicherverwaltung eingebetteter Betriebssysteme gibt es und welche Merkmale haben sie? ?
Seitenstil, Segmentstil, Segmentseite, mit MMU ,Virtueller Raum und andere Technologien
4, Was ist eingebettetes Echtzeitbetriebssystem , Android Ist das Betriebssystem ein Echtzeitbetriebssystem? ? ?,
Das eingebettete Echtzeitbetriebssystem bedeutet, dass externe Ereignisse oder Daten, die generiert werden, diese schnell genug annehmen und verarbeiten können und die Verarbeitungsergebnisse die Produktion innerhalb der angegebenen Zeit steuern können. Prozess oder eingebettetes Betriebssystem, das schnell auf das Verarbeitungssystem reagiert und die koordinierte Ausführung aller Echtzeitaufgaben steuert. Wird hauptsächlich in der industriellen Steuerung, militärischen Ausrüstung, Luft- und Raumfahrt und anderen Bereichen eingesetzt, in denen strenge Anforderungen an die Reaktionszeit des Systems gestellt werden, was den Einsatz von Echtzeitsystemen erfordert. Es kann in weiche Echtzeit und harte Echtzeit unterteilt werden, und Android
basiert auf Linux Kernel, also weich in Echtzeit. 5
, wie viel kostet die längste Kurznachricht Byte?Chinesisch70(
Einschließlich Satzzeichen ), Englisch 160 Bytes 6
, Android, und was sind ihre Eigenschaften und Unterschiede? Zwei Arten, eine ist Tween
Animation und eine die Art ist eine Frame Animation. TweenAnimation, diese Implementierung kann die Ansichtskomponente bewegen, vergrößern, verkleinern und Transparenzänderungen erzeugen; ein weiterer Frame Animation, eine traditionelle Animationsmethode, wird durch das sequentielle Abspielen arrangierter Bilder, ähnlich einem Film, erreicht. 7, HandlerPrinzip des Mechanismus andriod bietet Handler und Looper um die Kommunikation zwischen Threads zu erfüllen. Handler First in, first out Prinzip. Die Klasse Looper wird zum Verwalten des Nachrichtenaustauschs zwischen Objekten innerhalb eines bestimmten Threads (Nachrichtenaustausch). 1 8, reden übermvc Das Prinzip des -Musters, seine Anwendung in Android MVC(Model_view_contraller)“ Modell_Ansicht _Controller“. MVCEine Anwendung besteht immer aus diesen drei Teilen. Ereignis(Ereignis) führt zu ControllerÄndernModell oder Ansicht oder beide gleichzeitig ändern. Solange Controller die Daten oder Eigenschaften von Modellen ändert, sind alle abhängig Ansicht wird automatisch aktualisiert. Ebenso gilt, solange Controller Ansicht ändert, Ansicht aktualisiert sich selbst, indem es Daten vom zugrunde liegenden Modell abruft. AnsichtNeuzeichnen und Gedächtnisverluste scheinen häufige Fragen zu sein, die in Interviews gestellt werden Verwenden Sie dort, wo Sie aktualisieren müssen, Griff. sendmessageNachricht senden, und dann in Handle s getmessage wird in invalidate oder ausgeführt postinvalial. 2. GCSpeicherverlust EinerLebenszyklus der Aktivität Die Plattform hat die gleichen Apps wie AndroidDer Lebenszyklus der Anwendung wird einheitlich gesteuert, was bedeutet, dass das Schicksal von Die Anwendung, die wir schreiben, liegt in den Händen anderer (System). Wir können sie nicht ändern, wir können nur lernen und uns daran anpassen. Lassen Sie mich kurz erklären, warum das so ist: Wenn auf unserem Mobiltelefon eine Anwendung ausgeführt wird , , kann es sein Wenn eine SMS an das Telefon gesendet wird oder der Akku leer ist, wird das Programm zu diesem Zeitpunkt unterbrochen und die Bereitstellung der Grundfunktionen des Telefons wird priorisiert Erlauben Sie nicht, zu viele Ressourcen zu belegen, stellen Sie zumindest die Funktion des Telefons sicher ,Wenn also die Ressourcen nicht ausreichen, können Sie getötet werden. Näher zu Hause ist der grundlegende Lebenszyklus von Aktivität im folgenden Code dargestellt: Java Code Von dir selbst geschriebenAktivitätwird nach Bedarf wiederholt enthält diese Methoden, onCreate ist in einer Aktivität Während des normalen Startvorgangs ist die Reihenfolge, in der sie aufgerufen werden, onCreate -> onStart ->onResume, in Aktivität wird in der Reihenfolge onPause -> onStop -> onDestroy beendet Lebenszyklus, aber jemand fragte, während das Programm lief, kam ein Anruf, was soll ich mit diesem Programm machen? Es wird abgebrochen. Wenn die neue Aktivität beim Abbruch im Vollbildmodus angezeigt wird, dann: onPause->onStop , bei Wiederaufnahme onStart->onResume , wenn die Person, die diese Anwendung unterbrochen hat, ein Thema ist Transluzent oder Dialog s Aktivität dann einfach aufPause, beim Wiederherstellen onResume . Lassen Sie uns im Detail vorstellen, was das System tut und was wir in diesen Methoden tun sollten: onCreate:
)Looper: Ein Thread kann einen Looper-Objekt, das die Nachrichtenwarteschlange(Nachrichtenwarteschlange in diesem Thread ). 2)Handler: Sie können Handler konstruieren Objekt zur Kommunikation mit Looper, um Push neue Nachrichten zu senden Nachrichtenwarteschlange ankommen oder Looper von empfangen NachrichtenwarteschlangeRufen Sie die von ) gesendete Nachricht ab.
3)Nachrichtenwarteschlange(Nachrichtenwarteschlange): wird zum Speichern von Nachrichten verwendet, die von Threads gestellt werden.
4) Thread: UI-Thread normalerweise Hauptthread, und Android erstellt beim Start einen Nachrichtenwarteschlange.
1. Ansicht aktualisieren:
Vorkommen:
1.Cursor der Datenbank Kein Verschluss
2.KonstruktionAdapter Wenn , keinen Cache verwendetInhaltsansicht
abgeleitet Optimierungsprobleme der Listenansicht-----Erstellung reduzieren AnsichtObjekte , Inhaltsansicht voll ausnutzen, Sie können eine statische Klasse verwenden, um den Prozess von getview/3. Bitmap
Verwenden Sie recycle(), um Speicher freizugeben, wenn das Objekt nicht verwendet wird 4. Der Lebenszyklus des Objekts in Aktivität
ist größer als Aktivität
Debugging-Methode : DDMS==> HEAPSZIE==>dataobject==>[Gesamtgröße]
Zwei Lassen Sie Aktivität zu einem Fenster werden: AktivitätAttributeinstellungen
Drei Ihr Hintergrund Aktivität wird vom System blockiert
Was mit Recycling zu tun ist: onSaveInstanceState
vier Anruf aufgerufen mit: Unser Bote - Absicht
Ein Leben Aktivitätszyklus und andere Mobiltelefone public class MyActivity extends Activity{
protected void onCreate(Bundle savedInstanceState);
protected void onStart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy();
}
Erstellen Sie hier eine Schnittstelle und führen Sie einige Dateninitialisierungen durch ArbeitonStart:
onResume:Es wird interaktiv mit dem Benutzer Ja, (in Aktivität verwaltet das Stack-System diese einzelnen Aktivität oben, nach dem Ausführen und Platzieren des Stapels, kehren Sie zur vorherigen Aktivität)
onPause: zu Dieser Schritt ist sichtbar, aber nicht interaktiv. Das System stoppt Animationen und andere Dinge, die CPU verbrauchen . Wir wissen bereits, dass einige Ihrer Daten hier gespeichert werden sollten , , da zu diesem Zeitpunkt die Priorität Ihres Programms verringert ist und möglicherweise zurückgenommen wird das System. Die hier gespeicherten Daten sollten in onResume ausgelesen werden. Hinweis: Die Zeit für die Ausführung dieser Methode sollte kurz sein, da die nächste Aktivität wartet nicht, bis diese Methode abgeschlossen ist, bevor sie beginnt. onstop:
wird unsichtbar , abgedeckt durch die nächste AktivitätonDestroy: Dies ist die letzte aufgerufene Methode, bevor Aktivität beendet wird. Sie kann von einer externen Klasse aufgerufen werden finish Methode oder das System beendet sie vorübergehend, um Platz zu sparen, können Sie isFinishing() Um es zu beurteilen, rufen Sie bitte onDestroy an, wenn sich im Thread ein Fortschrittsdialog dreht Abbrechen, andernfalls rufen Sie DialogAbbrechen Methode von 🎜> löst eine Ausnahme aus. onPause, onstop, onDestroy , in den drei Staaten Aktivität kann vom System abgebrochen werden Um die Korrektheit des Programms sicherzustellen, müssen Sie onPause ()Schreiben Sie den Code für die Persistenzschichtoperation, um den vom Benutzer bearbeiteten Inhalt auf dem Speichermedium zu speichern (im Allgemeinen ). sind alle Datenbanken). Bei der tatsächlichen Arbeit gibt es viele Probleme, die durch Änderungen im Lebenszyklus verursacht werden. Wenn in Ihrer Anwendung beispielsweise ein neuer Thread ausgeführt wird und dieser zu diesem Zeitpunkt unterbrochen wird, müssen Sie diesen Thread trotzdem aufrechterhalten, unabhängig davon, ob Sie ihn anhalten oder beenden möchten 🎜> Es ist immer noch ein Daten-Rollback, oder? Da Aktivität getötet werden kann, müssen Sie auf die im Thread verwendeten Variablen und einige Schnittstellenelemente achten. Im Allgemeinen verwende ich Android Nachrichtenmechanismus [Handler,Message] zur Behandlung von Fragen zu Multithreading und Schnittstelleninteraktion. Ich werde später darüber sprechen, da diese Dinge in letzter Zeit sehr beliebt geworden sind, also werde ich es mit Ihnen teilen, sobald ich meine Gedanken klar habe.
Zwei Lass Aktivität zu einem Fenster werden: AktivitätEigenschaftseinstellungen Reden wir kurz darüber ,Einige Leute möchten vielleicht eine Anwendung erstellen, die auf der Hauptoberfläche des Telefons schwebt . , dann ist es ganz einfach Sie müssen nur das Thema Aktivität festlegen Hier ist ein Satz, in dem Aktivität in AndroidManifest.xml : 🎜> >android:theme="@android:style/Theme.Dialog"
Dadurch wird Ihre Bewerbung im Formular angezeigt eines Dialogfelds, oder android:style/Theme.Translucent"
wird durchscheinend, [Freundliche Erinnerung-.-]Ähnlich
Die Attribute der Aktivität kann in der AndroidManifestActivity der Klasse android.R.styleable gefunden werden. Wie in der zu sehen ist Methode, die Einführung der Attribute aller Elemente in AndroidManifest.xml kann auf diese Klasse verwiesen werden android.R.styleable
Sie können sehen, wie folgt"@android:style/Theme.Dialog" Entspricht android.R.style.Theme_Dialog, ('_' Ersetzen Sie durch '.' <--Hinweis: Dies ist der Inhalt des Artikels (kein Smiley) und kann in der Beschreibung verwendet werden Datei
Wenn Sie auf klicken, werden Sie es verstehen, indem Sie nach suchen die entsprechende Beziehung in der Klassendefinitions- und Beschreibungsdatei.
Drei Was tun, wenn Ihr Hintergrund Aktivität vom System recycelt wird: onSaveInstanceState
Wenn eine bestimmte Aktivität A in Ihrem Programm ausgeführt wird, führen Sie aktiv oder passiv eine weitere neue Aktivität aus Aktivität B Zu diesem Zeitpunkt wird A Java< ausführen 🎜>Codepublic void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putLong( "id", 1234567890);
}
public void onSaveInstanceState(Bundle outState) {
B
Wird nach Fertigstellung zu Ihnen zurückkommen A, Zu diesem Zeitpunkt gibt es zwei Situationen: Eine besteht darin, dass A recycelt wird, und die andere darin, dass es nicht recycelt wird , muss das A, das an zurückgegeben wird, erneut aufgerufen werden onCreate( ) Methode, anders als beim direkten Start, diesmal onCreate() ist Bringen Sie die Parameter savedInstanceState, und diejenigen, die nicht wiederhergestellt wurden, sind immer noch onResume . savedInstanceState ist ein Bundle-Objekt. Sie können es grundsätzlich als ein verstehen, das vom System für Sie verwaltet wird. Map-Objekt. Sie können es in onCreate() verwenden. Wenn es normal startet, onCreateDa es nicht vorhanden ist, müssen Sie bei der Verwendung prüfen, ob es leer ist.
JavaCode
if(savedInstanceState !=null){
long id =savedInstanceState .getLong("id");
}
if(savedInstanceState !=null){
Genau wie der offizielle Notizblock< In der Situation im 🎜>Tutorial
bearbeiten Sie eine bestimmte Notiz , wenn es plötzlich unterbrochen wird, dann geben Sie die ID dieser Notiz ein Denken Sie daran, wenn Sie wieder aufstehen, können Sie diese ID verwenden, um das zu bekommen Hinweis Nehmen Sie es heraus und das Programm wird vollständiger. Dies hängt auch davon ab, ob Ihre Anwendung etwas speichern muss. Wenn Ihre Schnittstelle beispielsweise eine Liste lesen soll, müssen Sie sich nichts Besonderes merken, oh,
Vielleicht müssen Sie sich die Position der Bildlaufleiste merken...
Vier Anrufen und angerufen werden: Unser Bote Absicht
wird sagteAbsicht , Absicht ist diese Absicht Absicht Ein Anruf wird kommuniziert gesendet werden an Absicht, Dies ist AndroidDie Essenz der losen Kopplung von Die Architektur verbessert die Wiederverwendbarkeit von Komponenten erheblich. Wenn Sie beispielsweise auf eine Schaltfläche in Ihrer Anwendung klicken möchten, ist dies ganz einfach. Schauen Sie sich zuerst den Code an: 再对照一下Intent的一些set方法,就知道怎么调用咯,希望你喜欢:) Eins, ListenansichtWie haben Sie es optimiert? ? 1. Wie aktualisiere ich die Ansicht?
JavaCode:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL) ;
intent. setData(Uri.parse("tel:"+ number));
startActivity(intent); Code kopieren
Wenn Sie eine solche Absicht verwerfen, erkennt das System Ihre Absicht und aktiviert den Telefonwähler, um einen Anruf zu tätigen. Um Kontakte zu lesen, Textnachrichten oder E-Mails zu senden, müssen Sie nur den Intent wegwerfen. Dieser Teil ist wirklich gut gestaltet.
DannAbsichtWie man dem System mitteilt, wer akzeptieren muss es Was ist mit ihm? Normalerweise gibt es zwei Möglichkeiten, Intent zu verwenden. Die erste besteht darin, wie folgt direkt anzugeben, welche Klasse zum Empfangen des Codes erforderlich ist: :
JavaCode
Intent intent = new Intent(this,MyActivity.class);
intent.getExtras( ).putString( "id","1");
startActivity(intent);
Intent intent = new Intent(this,MyActivity.class);intent.getExtras().putString("id"," 1"); tartActivity(intent);Code kopieren
Der erste Weg liegt auf der Hand: Geben Sie direkt MyActivity als Empfänger , < an 🎜> und einige Daten an MyActivity in MyActivity übergeben kann in getIntent() verwendet werden, um hierher zu gelangenintent und Daten.
Die zweite Möglichkeit besteht darin, einen Blick auf AndroidMenifest < zu werfen 🎜>Intentfilter ist mit Xml
Code konfiguriert <intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:value="android.intent.action.EDIT" />
<action android:value="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="vnd.android.cursor.dir/vnd.google.note" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<action android:value="android.intent.action.EDIT" />
<action android:value="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.dir/vnd.google.note" />
</intent-filter><p style="text-indent:21pt;"><span style="color:#000000;font-size:10.5pt;"><span style="font-family:'宋体';">这里面配置用到了</span></span><span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us">action, data, category</span><span style="color:#000000;font-size:10.5pt;"><span style="font-family:'宋体';">这些东西,那么聪明的你一定想到</span></span><span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us">intent</span><span style="color:#000000;font-size:10.5pt;"><span style="font-family:'宋体';">里也会有这些东西,然后一匹配不就找到接收者了吗?</span></span><span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us">action</span><span style="color:#000000;font-size:10.5pt;"><span style="font-family:'宋体';">其实就是一个意图的字符串名称。</span></span><span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us"><br></span><span style="color:#000000;font-size:10.5pt;"><span style="font-family:'宋体';">Nach oben</span></span><span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;"> </span><span style="color:#000000;font-size:10.5pt;"><span style="font-family:'宋体';">Nudelbereich</span></span><span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us">Absichtsfilter</span><span style="color:#000000;font-size:10.5pt;"> zeigt, dass diese <span style="font-family:'宋体';"></span></span>Aktivität<span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us"></span><span style="color:#000000;font-size:10.5pt;"> verschiedene <span style="font-family:'宋体';"></span></span> Aktionen<span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us"></span><span style="color:#000000;font-size:10.5pt;"> annehmen kann. Natürlich ist auch die entsprechende Programmlogik unterschiedlich <span style="font-family:'宋体';"></span></span>,<span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us"></span><span style="color:#000000;font-size:10.5pt;">Erwähnen Sie das<span style="font-family:'宋体';"></span></span> mimeType,<span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us"></span><span style="color:#000000;font-size:10.5pt;"> Es ist in <span style="font-family:'宋体';"></span></span>ContentProvider<span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us"></span><span style="color:#000000;font-size:10.5pt;"> definiert. Wenn Sie selbst einen <span style="font-family:'宋体';"></span></span>ContentProvider<span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us"></span><span style="color:#000000;font-size:10.5pt;"> implementieren, wissen Sie , müssen Sie <span style="font-family:'宋体';"></span></span> mimeType<span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us"></span><span style="color:#000000;font-size:10.5pt;"> angeben, damit die Daten von anderen verwendet werden können. Ich weiß nicht, ob das Prinzip klar ist. Zusammenfassend lässt sich sagen, dass Sie andere Schnittstellen nicht direkt <span style="font-family:'宋体';"></span></span>neu<span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us"></span><span style="color:#000000;font-size:10.5pt;"> aufrufen, sondern indem Sie ein <span style="font-family:'宋体';"></span>Absicht</span><span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us"></span>, lassen Sie sich vom System beim Aufrufen dieser Schnittstelle helfen. Dies ist so lose gekoppelt und entspricht dem Prinzip, dass der Lebenszyklus vom System verwaltet wird. Möchten Sie wissen, was die <span style="color:#000000;font-size:10.5pt;"><span style="font-family:'宋体';"></span>Kategorie</span><span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us"></span> hat? <span style="color:#000000;font-size:10.5pt;"><span style="font-family:'宋体';"></span>Android</span><span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us"></span> ist für Sie vorgefertigt <span style="color:#000000;font-size:10.5pt;"><span style="font-family:'宋体';"></span>Aktion</span><span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us"></span>usw., bitte besuchen Sie den offiziellen Link persönlich<span style="color:#000000;font-size:10.5pt;"><span style="font-family:'宋体';"></span>Absichten:</span><span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us"></span> Studierende Wer wissen möchte, wie man Systemanwendungen aufruft, kann sich seinen <span style="color:#000000;font-size:10.5pt;"><span style="font-family:'宋体';"></span>Logcat</span><span style="font-family:Verdana, 'sans-serif';color:#000000;font-size:10.5pt;" lang="en-us" xml:lang="en-us"></span> genauer ansehen, um zu sehen, ob bei jedem Ausführen eines Programms einige Informationen vorhanden sind, z als 🎜><span style="color:#000000;font-size:10.5pt;"><span style="font-family:'宋体';">:</span></span></p>
<pre class="brush:php;toolbar:false">Starting activity: Intent {action=android.intent.action.MAINcategories={android.intent.category.LAUNCHER}flags=0x10200000comp={com.android.camera/com.android.camera.GalleryPicker} }
Zwei, Aktualisierung der Ansicht, wie bereits erwähnt
Drei, IPCund Prinzipien
Vier, Android Multi-Threading
Fünf, AndroidWarum Design4 Große Komponenten und die Verbindung zwischen ihnen können nicht entworfen werden (hauptsächlich, um das MVC-Muster zu realisieren). , Der schwierigste Modus in Java ist jedoch auch dieser, und nur wenige Produkte können diesen Modus gut beherrschen [ Der Interviewer bei Technicolor hat dies gefragt])
Sechs, Service Zyklus, Aktivität Zyklus, sprechen Sie über Ihre Ansichten zu Verständnis von Android internen Anwendungen, wie Telefon-, und Kontaktanwendungen. Es gibt viele Dinge in der Framework-Ebene, daher ist es besser, mehr darüber zu lesen, wie Android funktioniert oder die Entwicklung einer Anwendungs-Framework-Schicht, es wird sehr vorteilhaft sein.
Dies ist Ihre Projekterfahrung, die die Schwierigkeiten hervorhebt, auf die Sie gestoßen sind, und wie Sie sie gelöst haben! Versuchen Sie, jeden technischen Punkt hervorzuheben. Natürlich wird Ihnen der Interviewer manchmal Fragen stellen, z. B. welches Modul Sie in dieser Bewerbung verwendet haben und wie viele Kurse Sie verwendet haben, um zu zeigen, ob Sie es tatsächlich getan haben. Gelegentlich werden Sie von einigen Interviewern gefragt: Haben Sie den Unit-Test verwendet, der mit Android geliefert wird, und wie verwenden Sie ihn? Natürlich habe ich mit vielen Unternehmen gesprochen, von denen einige Tablets, Mobiltelefone und digitale Fernseher herstellen und andere Kunden wie ERP usw. Die ersten drei dienen im Wesentlichen dazu, Android zu ändern. Wenn Sie es wirklich tun möchten, Android, jeder muss noch viel lernen. Kurz gesagt: Kurz gesagt, es gibt alle Arten von Interviewern: Wenn Sie zu einem Vorstellungsgespräch gehen, müssen Sie mental vorbereitet sein, sei es technisch oder grundlegend . solide. Auch die Konversationsfähigkeit einer Person ist ohnehin nicht sehr wichtig. Die offizielle Erklärung ist sehr ausführlich, sodass Sie eine größere Chance haben, ein Angebot zu erhalten , und Sie werden auch einen Vorteil bei der Gehaltsverhandlung haben~~Natürlich hat mir ein Interviewer eines Unternehmens einmal gesagt, dass Technologie kostet kein Geld, solange du die Fähigkeit dazu hast, egal wie viel es ist. Er hat sie alle eingeladen.
2. Was ist der Unterschied zwischen DDMS und TraceView?
3. Was soll ich tun, wenn Aktivität recycelt wird?
4. Wie man Java
:1. Ansicht kann sein aufgerufen
invalidate() und postInvalidate()Diese beiden Methoden aktualisieren2.DDMS ist ein Programmausführungs-Viewer, in dem Sie Informationen wie Threads und Stacks sehen können,
TraceView ist ein Programmleistungsanalysator 3. Aktivität wird recycelt, dann gibt es keine andere Wahl, als eine zu starten neu
4.java ruft das
C Sprachprogramm auf, Sie können die Schnittstelle JNI verwenden, um die obigen Antworten zu implementieren dienen nur als Referenz. Meine persönlichen Fähigkeiten sind begrenzt, daher wirst du zwangsläufig falsche Antworten geben, haha....Antwort:
1. Ansicht unterliegt einer Systemaktualisierung (es gibt eine Schleife innerhalb des Systems, die überwacht werden muss). Veranstaltungen und Geschäfte abwickeln, zeichnen UI), können Sie postInvalidate() um das System zur Aktualisierung aufzufordern. 2.
(Ich weiß es wirklich nicht)3.
Bitte beachten Sie den Aktivitätszyklus, wenn das System zerstört ist , Mit anderen Worten, Recycling kann nur bei Null beginnenAnfang 4.
Angerufen über JNI. Es wird empfohlen, „The Java Native InterfaceProgrammer's Guide and Specification“, englische Version, ab Sun zu lesen Laden Sie die Website herunter.
Das obige ist der detaillierte Inhalt vonTeilen von Baidu Android-Interviewfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!