Android işletim sisteminin kapsamlı şekilde anlaşılması

Yazar | Deng Fanping

Editör | Tu Min

Menşei

Birkaç gün önce CSDN, hakkında bir makale yayınladı.

Hongmeng OS

Makalenin, kendi geliştirdiği işletim sistemini tartışan son makalelerden çok alakalı olduğunu düşünüyorum. Bir keresinde Android işletim sistemini 2012'de tanıttım ve hala modası geçmiş. Teknik bir kişi olarak, bir şeyin geleceğini tartıştığımızda, onu her zaman biraz anlamalıyız. Bu makale Android işletim sistemine çok basit bir giriş niteliğindedir. Android'in ilk birkaç yılında (2011'den önce ve civarında), birkaç üreticiyle birlikte Android ve Intel'in geliştirilmesine de bahse girdik. Meego Ve dayalı Linux için Gömülü İşletim Sistemi . O zamanlar China Mobile'ın OMS'si de çok popülerdi ve OMS bile Borqs adında bir şirket çıkardı. Borqs'ta, çoğu Çin'in cep telefonu endüstrisindeki Huangpu Askeri Akademisi olan Motorola'dan gelen birçok yetenek var. Bu açıdan bakıldığında, Android işletim sistemi de ilk günlerde öngörülemezdi ve kimse bunun kesinlikle başarılı olacağını düşünmedi.

Android sonunda başarılı oldu. Kişisel olarak bunun tamamen teknik bir faktör olmadığını düşünüyorum, ancak teknolojiyle ilgili birkaç temel faktör var:

  • Java'yı bir geliştirme dili olarak kullanmak kesinlikle anahtar faktörlerden biridir - sonuçta geliştiricilere hitap etmek çok önemlidir. Sonuçta Java, C ++ / C'den daha basit ve öğrenmesi kolay.
  • Ek olarak, Android'in en alt katmanı, çevre birimi üreticilerinin çoğunu çeken Linux'tur. Başlangıçta Linux için sürücüler veya ilgili modüller geliştirdiler ve Android'e geçiş çok fazla çalışma gerektirmedi.
  • Son olarak, önemli yonga üreticileri-Qualcomm'un desteği var. O sırada sadece Intel ailesi çip yapıyor olsaydı, Meego birkaç yıl daha ayak uydurabilirdi.
  • Geçmişte, CSDN "Programmer" dergisine katkıda bulunan bir kişi vardı. Kişisel tanıtımında ilginç bir cümle vardı. Linux bayrağını yükseltmek için . Bu nedenle, Android'in başarılı olmasının nedeni, çok fazla insanın onun için tezahürat yapmasıdır. Yazılım ve donanım geliştirme, eğitim ...

    Android pazarı tamamen işgal ettikten sonra, H5 tabanlı işletim sistemi başka bir doruk noktasına ulaştı.

    2013-2014 civarında bir Firefox OS vardı ve birçok makine yurtdışında kuruldu. FireFox OS, Android ile tamamen uyumludur. Sözde uyumluluk, Android işletim sistemine ait orijinal işlevlerin korunduğu ve daha sonra H5 Uygulamasına bazı işlev uzantılarının sağlandığı anlamına gelir.

    Android ile karşılaştırıldığında, çok daha az kişi Firefox OS için bayrağı yükseltiyor. Ve Android işletim sistemi ile uyumlu olmalı - o zaman, Android işletim sistemi her güncellendiğinde, Firefox uyum sağlamalı ve değişmelidir. Bu iş yükü çok çok büyük. Sonunda Firefox OS öldü.

    Yukarıdakiler tarihsel durumdur - hiçbir işletim sisteminin kazanan doğmadığını ve durumun değiştiğini göstermektedir. Ek olarak, Çoğumuz, bir işletim sisteminin sürecini sıfırdan bu kadar güçlü bir hale getirebildiği için Android'e teşekkür etmek isteriz. Zaman aralığı çok kısadır ve yedi ya da sekiz yıl sürmüştür.

    Şimdi Android işletim sisteminde bazı popüler bilimleri tanıtacağız.

    Genel video

    PPT'den dönüştürülen video:

    Yukarıdaki videoda tanıtılan dört bölüm var:

  • Android sistem mimarisi - dikey bir perspektiften;
  • Android Framework-hiyerarşik ilişki yok;
  • Android işletim sistemi bir mikro çekirdek işletim sistemidir;
  • Android telefon yayınlama ve güncelleme süreci.
  • Her bölüm uzun değil. Önce aşağıdaki içeriği okuyabilir, ardından tamamını okuduktan sonra yukarıdaki PPT videosunu izleyebilirsiniz.

    Android sistem mimarisi-dikey perspektif

    Aşağıdaki şekil Android işletim sisteminin genel mimarisidir. Android kullananların% 99,999'u şunları bilir:

    Dikey bir bakış açısına göre, Android işletim sistemi dört seviyeye ayrılmıştır (bu benim bölümüm, diğer insanların ifadeleri benzer, bazıları nispeten eski, örneğin Dalvik sanal makinesi ART ile değiştirildi, ancak bu mimari anlayışımızı etkilemiyor anlayış):

    • En alt katman, Linux Çekirdeği katmanıdır. Geliştiriciler, lütfen bu noktaya özellikle dikkat edin, on bin kez vurgulanamaz - Android OS'nin temel taşı Linux Kernel'dir. Kernel katmanına ek olarak, Kullanıcı Alanındaki Linux Çekirdeği ile ilgili şeyler de ueventd, wpa_supplicant, vb. Gibi Android işletim sistemi tarafından kopyalandı.
    • Aşağıdan yukarıya ortadaki iki katman, Native Framework katmanı ve Java Framework katmanıdır. Bu ikisi Android'e özgüdür. Toplu olarak atıfta bulunuyoruz İki katman Android Framework'tür .
    • Üst katman, uygulama katmanıdır. Android'deki uygulamaları benzersiz kılan Android Framework'e dayanmaktadır - aksine, ls ve find gibi arayüzsüz bir program yazarsanız, tüm Linux / Unix tabanlı sistemlerde aynı şekilde çalışırlar. . Bu tür programları genellikle Linux uygulamaları olarak düşünürüz - kesinlikle Android uygulamaları olarak değil.

    Yukarıdaki dört seviye arasında Kernel en uzun geçmişe sahiptir ve bugün muhtemelen üç dev vardır: Windows, Linux ve macOS (Unix, Linux ve macOS ile ilgilidir ve tüketici elektroniğinde nadiren görülür, bu nedenle Unix tartışılmaz) :

    • Windows, Microsoft'a aittir , Birkaç on yıl sonra, yüz binlerce ekipman üreticisi ve yazılım geliştiricisi oyuna birlikte katıldı.
    • Linux: Unix ile ilgilidir, açık kaynak Çekirdeğin Ubuntu, CentOS vb. Gibi birçok dağıtımı vardır ve yerel Ukylin de öyle.
    • Mac os işletim sistemi: Aynı zamanda Apple'a özgü olan Unix ile de ilgilidir. Oyuna birlikte katılan yüz binlerce ekipman üreticisi ve yazılımcı var.

    Yukarıdakiler, bir şirkete özgü olmayan tek Linux'tur. Bu nedenle, Linux kullanan Android kaçınılmaz bir seçimdir. Yerel olarak üretilmiş bir işletim sistemi geliştirmek istiyorsak, en büyük olasılık, mevcut Unikylin ve önceki kırmızı bayraklar gibi Linux'a da dayanmaktadır.

    Bu, teknolojinin iyi olup olmadığı sorusu değil, Linux Çekirdeği, tüm insanlık tarafından paylaşılan yazılım zenginliği olarak kabul edilebilir. Gereksinimlerine uyun, bağımsız bir krallığa girmeyin, sadece birlikte kullanın. Ayrıca, Linux Çekirdeği onlarca yıldır geliştirildi ve birçok kişi (birçok yerli şirket dahil) ona çok büyük katkılarda bulundu. Söylendiği gibi, selefler bir ağaç dikti ve torunlar gölgenin tadını çıkarabilir. Baştan sona, yukarıdan aşağıya "özerk" olmamız gerekiyorsa, o zaman bilgisayar programlama dillerinin kullanımı konusunda da endişelenmemiz gerekir.

    Tartışmamıza devam edin.

    Android Framework-hiyerarşi yok

    Çoğu insanın gözünde, Android işletim sisteminin mimarisi yukarıdaki gibi dikey ilişkidir - bu anlayış yanlış değil, ancak tamamen doğru değil. Fonksiyonel modülü gözlemlemek için bir birim olarak alırsak Android Çerçevesi (Native Framework ve Java Framework için toplu bir isim), şöyle bir resim elde edeceksiniz:

    Android Framework'ü işlev açısından incelemek için:

    • Java Framework birkaç ana hizmet türü içerir , Uygulamadaki dört ana bileşen programlama işleviyle ilgili bileşenler, pencereyi özel olarak yöneten bileşenler ve uygulama kurulumuyla ilgili işlevsel bileşenler gibi. Ağ ve Bluetooth işlevleriyle ilgili bileşenler de vardır. Bunları "In-Deep Understanding of Android Volume 2" de yedi kategoriye ayırdım. Bu kategori en son sürümde yükseltilmiştir.Örneğin, Android Auto'ya araçla ilgili birkaç işlevsel modül eklenmiştir (araç sistemleri için). Ayrıca, yukarıdaki sınıflandırmanın tamamen benim kişisel sınıflandırmam olduğunu ve bir standart olmadığını lütfen unutmayın.
    • Native Framework ayrıca aşağıdaki gibi işleve göre bölünebilir Sesle ilgili AudioFlinger ve AudioPolicyService gibi.

    Bu bölüm aracılığıyla şunları biliyorsunuz:

    • Android Framework'te aslında pek çok işlevsel modül var.
    • Bu işlevsel modüller Java Çerçevesinde olabilir veya Yerel Çerçeve'de olabilir.
    • Dahası, bu işlevsel modüller birden çok işlemde, birbirleri arasında dağıtılabilir veya uygulama katmanına Binder tarzında birbirleriyle etkileşime girebilir.

    Bunları bilmenin ne yararı var? Sonra bak.

    Android işletim sistemi bir mikro çekirdek işletim sistemidir

    Çekirdekle ilgili olarak, her zaman olmuştur Mikro çekirdek ile Makro çekirdek Puan. Windows ve Mac mikro çekirdek kullanır ve Linux makro çekirdek kullanır. Öyleyse, mikro çekirdek nedir ve makro çekirdek nedir? Aşağıdaki şekil mikro çekirdeği kısaca açıklamaktadır:

    Mikro çekirdek ile makro çekirdek arasındaki farkı kısaca açıklıyorum (durdurmak için tıkla, teknik olmayan katı):

    • Mikro çekirdek, yalnızca bazı temel hizmetleri (CPU'nun çalıştırılması, işlem planlaması, bellek yönetimi, cihaz yönetimi vb.) Gerçekleştiren çekirdektir. Daha sonra diğer işlevleri çekirdek dışındaki birden çok işleme ayırın. Mikro çekirdeğin en büyük eleştirisi, diğer işlemler ve çekirdek arasındaki etkileşimin süreçler arası iletişime ait olması ve ek yükün nispeten büyük olmasıdır.
    • Makro çekirdek, yukarıdaki resimdeki her şeyi çekirdeğin içine yerleştirmektir. Bu şekilde, herkes aynı süreçte çalışır (esas olarak aynı bellek alanı-çekirdek adres alanını paylaşmayı ifade eder), bu da modüller arasındaki etkileşimin ek yükünü büyük ölçüde azaltabilir. Ancak sorun şu ki, bir modül başarısız olduğunda tüm çekirdek kilitlenebilir.

    Mikro çekirdek ve makro çekirdek arasındaki farkı anladıktan sonra, Android'e tekrar bakalım. Android'in bir işletim sistemi olduğunu düşünürsek (Android'in neden daha sonra bir işletim sistemi olarak görülebileceğinden bahsedeceğiz), bu bir mikro çekirdek mi yoksa bir makro çekirdek mi? Ardından aşağıdaki resme bakın:

    Yukarıdaki şekil, Android'in dört seviyesi arasındaki etkileşimi göstermektedir:

    • Hem Native Framework hem de Java Framework, Linux ile etkileşim halindedir.
    • Java Çerçevesindeki bazı modüller, Yerel Çerçevedeki bazı modüllerle etkileşim halindedir.
    • Uygulama, Java Framework ile etkileşime girer. Bazı durumlarda, Yerel Çerçeve modülleri ile de etkileşime girebilir (ilgili ok çizgileri şekilde çizilmemiştir).

    Yukarıda bahsettiğimiz şeyle birleştirildiğinde, Android Çerçevesindeki işlevsel modüllerin hepsi tek bir süreçte sıkıştırılmış değil, farklı süreçlere dağılmış ve işlevsel modüller süreçler arası iletişim yoluyla etkileşim halindedir. Bu nedenle, uygulama açısından Android işletim sistemi bir mikro çekirdek olmalıdır.

    Şimdi, Android'in neden bir işletim sistemi olarak adlandırılabileceğine bir göz atalım - bu sorunun cevabı aslında yukarıda üstü kapalı bir şekilde yanıtlanmıştır, yukarıdaki cümle " Uygulamayı Android'de bu kadar benzersiz kılan Android Framework'e dayanmaktadır. "

    Evet, Android'in bir işletim sistemi olduğunun söylenebilmesinin nedeni, yeni bir uygulama geliştirme ve etkileşim kurallarına sahip olmasıdır.

    Bu kuralla ilgili olarak, işte iki basit örnek. Biri, uygulama başlatıldığında kaynak Activity ile Android Framework arasındaki etkileşim sürecidir:

    Bu resim için herkesten belirli etkileşimin ayrıntılarını anlamasını istemiyorum. Bu resme baktığınızda, bu şeyin Android'e özgü olduğunu göreceksiniz.

    Elbette Android'de buna uymayan bir uygulama da yapabilirsiniz. Örneğin, bir cep telefonundaki önyükleme animasyonu bir Linux uygulamasıdır - program adı bootanimation'dır, herhangi bir dört ana bileşeni yoktur ve bir Manifest gerektirmez. Animasyonları / resimleri oynatan saf bir Linux programıdır.

    Bir zamanlar 2010 civarında UI kontrolüyle ilgili uygulamalar yapmak için doğrudan libskia'yı kullanarak pratik yaptım - Android'deki bu kontroller, iki boyutlu grafik kitaplığı olarak libskia'yı kullanıyor (üç boyutlu render için OpenGLES). libskia artık Flutter'ın temel oluşturma motorudur.

    O zamanki fikrim çok basitti. Android sistemini mobil olmayan cihazlar için kullanmak istedim (bir soda almak için bir kartı kaydırmak gibi basit sahneli cihazlarda kullanılıyordu. O zamanlar, bu cihazların performansı çok kabaydı ve çalışamıyordu. Tam Android seti, kırpılmalıdır), UI çizmek için özel libskia görüntü kitaplığı tabanlı kontrolleri kullanabilirsiniz. Çünkü çoğu durumda, yalnızca kullanıcı arayüzünü çizmeniz gerekir ve gerisi sürücüyü arayacaktır. Dört ana bileşenden hiçbiri gerekli değildir.

    Flutter sayesinde, libSkia artık bir miktar popülariteye sahip, ancak değeri hala çoğu insan tarafından hafife alınmaktadır. Şu anda bunu tanıtan profesyonel bir kitap olmadığını biliyorum. Yerleşik sistem (yüksek gecikme gerektiren, tam bir Android setinin kullanımının hız üzerinde büyük bir etkisi vardır ve çoğu zaman kesilmesi gerekir) veya hangi şirketin işletim sistemi ile uğraşmak istediği, iki boyutlu bir oluşturma motorunun geliştirilmesi çok önemlidir - açık bir şekilde ifade etmek gerekirse, uygulama geliştirmenin büyük bir kısmı Oranların tümü UI'dir. Arayüzün Windows ile aynı görünmesini sağlayan birkaç Linux dağıtımı olduğunu hatırlıyorum. BTW ve 3B oluşturma motorlarının bunu önemsemesine gerek yok çünkü çok zor ve korkarım ki herkes uğraşacak, bu yüzden zaten bir OpenGL standardı var ...

    Ardından başka bir örnek oynatma videosuna ve sese bakın:

    Android'de, bir uygulama video ve ses oynatmak isterse, MediaPlayerService, SurfaceFlinger, AudioFlinger, donanım codec modüllerine vb. Bağlıdır. Bu tür şeyler Linux tarafından değil, Android tarafından getirilir.

    Windows'ta bir oynatıcı yaptığımda, uygulamanın DirectX kullanarak codec ve oynatma işlevlerini tek başına eklemesi gerektiğini hatırlıyorum. Bu, her uygulama için özel bir hiledir. Daha fazla formatı destekleyenler daha güçlü olacaktır.

    Android'e koyun, kodlama, kod çözme ve oynatma işlevlerinin tümü sistem tarafından sağlanır ve uygulamanın artık bunlar için endişelenmesine gerek yoktur. Bu şüphesiz büyük bir gelişmedir.

    Yukarıda çok basit iki örnek vermiştim, muhtemelen artık Android işletim sistemini özgürce arayabiliriz. Çünkü Linux Kernel üzerinde çok sayıda olağanüstü, bağımsız işlev gerçekleştirdi. Dürüst olmak gerekirse, Android uygulamaları için, Android Framework yeterli olduğu sürece Linux'ta çalışıp çalışmadığı önemli değildir. 2011 gibi erken bir tarihte, CSDN blog yazımda "Transplantation Random Talk" (https://blog.csdn.net/Innost/article/details/6954556), birisi tüm Android Çerçevesini Windows'a aktardı. Sanal makineleri kullanan mevcut öykünücüyle aynı olmadığını unutmayın! (Makaledeki video hala mevcut gibi görünüyor, böylece herkes bir göz atabilir.)

    Android telefon yayınlama ve güncelleme süreci

    Birçok kişi Android cep telefonu sisteminin yayınlanma ve güncelleme sürecini anlamıyor ve AOSP'nin yeni sürümü çıktıktan sonra cep telefonlarının yeni sürüme güncellenmesi uzun zaman alacak. Bu sorunun açıklaması aşağıdaki şekilde gösterilmektedir:

    Yukarıdaki resim Android cep telefonu sisteminin yayınlanma ve güncelleme sürecidir.Resim uzun zaman önceydi ve durum şimdi daha iyi olacak, ama kabaca şöyle:

    • Google ilk olarak AOSP yerel kodu dediğimiz sürümü yayınladı. AOSP yerel kodu yalnızca bir avuç cep telefonunu destekler.
    • Ardından çip üreticileri, AOSP'ye dayalı kendi sürümlerini yayınlar. Qualcomm, Huawei, MTK gibi. ve İşlem, esas olarak yayın hızını artırmak için çakışır. içinde Bu aşamada, her bir yonga üreticisi kendi işlevlerini AOSP yerel kodunun üzerine ekleyecektir.Örneğin, AOSP daha önce çift kartlı ikili bekleme işlevlerine sahip değildi ve bu işlevlerden bazıları yonga üreticisi tarafından eklenmişti. Ek olarak, çip üreticilerinin kendi versiyonları için çok sayıda stabilite testi yapması gerekir.
    • Huami OV gibi terminal üreticileri doğrudan Google'ın yerel kodunu kullanmazlar, aslında çip üreticisi tarafından sağlanan Android kodunu kullanırlar. Ardından, ekipman üreticisi, terminal üreticisinin özelliklerini ekleyerek sihirli bir değişiklik yapmak zorundadır. Bu MIUI, EMUI, ColorOS vb. İşlevidir.
    • Şu anda çoğu terminal üreticisi, çip üreticilerinin Anahtar Teslimi çözümünü, özellikle CPU + iletişim modülü ve paketlenmiş ve terminal üreticilerine satılan çip + yazılımını kullanıyor. Meizu gibi birkaç şirket Samsung'un CPU'sunu kullanıyor ve iletişim modülü hangisini bilmiyor, bu nedenle Meizu'nun Samsung'un CPU'sunu diğer iletişim modülleriyle entegre etmesi gerekiyor ki bu Anahtar Teslimi çözümü kullanmaktan daha zor.
    • Terminal üreticisi entegre edildikten sonra, operatörün özelleştirmesini göz önünde bulundurması ve ardından ilgili operatörün özelleştirme işlevini ekleyip ilgili testi yapması gerekir.

    Yukarıdaki durumu bir test perspektifinden anladıktan sonra, kaynak kodu Google'dan son cep telefonuna yayınlanır ve test iş yükü çok büyüktür - bu nedenle son tüketicilere ulaşma hızı çok daha yavaş olacaktır. Üreticinin çözümü, sistemin yeni sürümünü doğrudan yeni telefonlarda kullanmaktır.Eski telefonların yeni sürüm yükseltme paketini yayınlamadan önce genellikle bir süre beklemesi gerekir.

    Kısacası, Android cep telefonu dünyasında, Google, çip üreticileri, terminal üreticileri ve operatörlerin tümü ekolojik zincirdeki kilit oyunculardır ve dördü birbirini etkiler. Terminal üreticileri açısından, çip üreticilerinin terminal üreticileri üzerindeki etkisinin daha kritik ve ölümcül olduğunu düşünüyorum. En basit ifadeyle, Qualcomm güncelleme yapmaz ve çipleri iyileştirmezse, birçok cep telefonu satıcısının ürünleri durgunlaşacaktır.

    Apple ile karşılaştırıldığında, çipten işletim sistemine kendi çipleri var ve operatörleri ciddiye almıyor. Bu nedenle, Apple'ın yayınlanma ve kapsama hızı nispeten hızlıdır ve parçalanma sorunu kesinlikle Android'den birkaç kat daha düşüktür. Elbette, iletişim yongası Apple için büyük bir sorundur, bu nedenle insanlar her zaman iPhone'un kötü sinyalinden şikayet eder. Bu sorun, Apple'ın kendi iletişim çipini geliştirmesiyle çözülebilir mi? Teorik olarak mümkün, ancak gerçekçi değil çünkü uğraşılması zor birçok patent sorunu var.

    Yerel otonom işletim sisteminin geleceği

    Yurtiçinde üretilen işletim sistemiyle ilgili bazı görüşlerim ve yargılarımdan bahsedeyim.

    • Şaşırtıcı olmayan bir şekilde, orta ve uzun vadede (on yıl içinde, kuantum bilgisayarlar popüler hale gelmediyse), Linux Çekirdeği hala çekirdek olacaktır (endüstriyel bilgisayarlar için gerçek zamanlı işletim sistemi vb. Gibi özel senaryolarda işletim sistemi burada dikkate alınmamıştır) . Linux Çekirdeği kullanıldığı sürece çoğu donanım üreticisi uyum sağlayabilir. Aksi takdirde, yeni bir işletim sistemine gelirseniz, donanım üreticilerinin sürücü geliştirmesi ve birçok test yapması gerekecektir.Bunun için gereken zaman ve para maliyeti çok büyük.
    • Yerel otonom işletim sistemi Android ile uyumluysa, bu, orijinal Android işlevlerinin ve diğer işlevlerin büyük olasılıkla korunacağı anlamına gelir. Bu, bir uygulama bakış açısından. Elbette, Android Framework'ü de değiştirebilir ve dahili uygulamayı kendi kodunuzla değiştirebilirsiniz. Ancak uyumlu olması için, uygulama üzerinde hiçbir etkisi olmamalıdır - bu, yazılım dünyasındaki eski söze geri döner, eğer bir şey ördek gibi çağırır ve yürürse, o zaman bir ördekdir. Bu açıdan bakıldığında, özerk gerçekleştirme sadece önceki sisteme benzeyen bir sistem geliştirmektir, çok önemli değildir ve bu tür bir özerkliğin tanınması zordur. Tabii ki, orijinal sistemin performansı iyileştirilebilirse, bu başka bir konudur: Bu optimizasyon ve iyileştirmedir ve tartıştığımızla aynı şey değildir.
    • Bu nedenle, yerel bağımsız işletim sistemi ya Android gibi Linux geliştirmeye dayalıdır, ancak rutin Meego ve Tizen gibi Android'den tamamen farklıdır. Ya Android işletim sistemini genişletmek ve bir H5 işletim sistemi gibi bir şey geliştirmek.
    • Son olarak, Linux'u terk ederseniz, Google'ın Fuchsia'sına başvurabilirsiniz. Fuchsia'nın bir mikro çekirdeğin yeni bir işletim sistemi mimarisi olduğu söyleniyor. Ancak, işletim sisteminin geleceği şu anda belirsizdir. İşletim sistemi hiçbir zaman saf bir yazılım meselesi olmadı, aynı zamanda çok sayıda donanım üreticisini de içeriyor. Hatta bir işletim sisteminin ölüm kalım karar vericisidirler.

    Yazar hakkında: Üst düzey Android teknoloji uzmanı olan Deng Fanping, Android teknolojisi araştırma ve geliştirme ile uğraşan ilk yerli mühendislerden biri. "Shennong ve Arkadaşları Deneme Koleksiyonu" (ID: alashhennong_gh) kişisel genel hesabı çalıştırın.

    Şu anda, Finans alanında Nesnelerin İnterneti gibi yeni teknolojilerin uygulamasını incelediği ve araştırdığı Bilim ve Teknoloji Bakanlığı, Minsheng Bank'ın İnovasyon Teknolojisi Araştırma Enstitüsü'nde çalışıyor. Altta yatan sanal makineden orta sistem katmanına ve çerçeve katmanına ve ardından üst katmanın çeşitli uygulamalarına kadar, tüm Android sisteminin kaynak kodunu çok derinlemesine araştırıp anlıyor. Planlandı ve yazdı " Android "serisi kitapların derinlemesine anlaşılması (şimdiye kadar 8 kitap yayınlandı) , 100.000'den fazla kopyanın kümülatif satışı, Android mühendis sisteminin çoğunluğu, Android sistem kaynak kodunun derinlemesine anlaşılmasıdır.

    China Mobile Migu, "Frozen" ı ağırladı ve ISU 2019 Shanghai Super Cup ile el ele verdi
    önceki
    Kunming Bilim ve Teknoloji Üniversitesi "Çin'i Algıla" Uluslararası Öğrenci Kültürel Deneyimi Etkinliği Yunnan Jianshui'ye Girdi
    Sonraki
    Hala geliştirme araçlarından şikayet ediyorsunuz, neden optimize etmiyorsunuz? | İnsanlar
    Gates, 400 milyar ABD doları tutarında büyük bir hata yaptığını itiraf etti: yanlışlıkla Google'a Android'i başlatma fırsatı verdi
    UDE2019: Guangfeng, 4K lazer TV ve film projektörlerini sergiliyor
    Apple uygulama incelemesi Çin'e giriyor
    Epic'in artı bir bonusu: "Monkey Kitchen" bulmaca oyununda ücretsiz olarak alın
    EXO Do Kyung-soo orduya katılmadan önce solo bir şarkı yayınladı; SEVENTEEN, uçuş gecikmesi tartışması için özür diledi
    Çekiç tehlikede ve Jinli iflas etti Huami OV hayatta kalmak için nasıl mücadele edebilir?
    Atmak? Deprem yangınında yüz tanıma kapısı nasıl hızlı açılır?
    Doğaüstü aksiyon oyunu "Control" 27 Ağustos'ta yayınlanacak
    Çin İnternet Konferansı 2019: Tencent bir lider değil, ancak bir asistan ve takipçi olmayı umuyor
    6.21 Uluslararası enstrüman performans günü Giorno piyano ilgi görüyor
    5G'nin yükselişiyle Nesnelerin İnterneti tehlikede
    To Top