Mengukur kinerja dengan built-in profiler
Mengoptimalkan Fisika Sitemap

Mengoptimalkan ukuran yang dibangun iOS Player

Dua cara utama untuk mengurangi ukuran Pemain adalah dengan membuat Release build yang tepat dalam Xcode dan dengan mengubah Stripping Level dalam Unity.

Bangunan untuk distribusi

Diharapkan bahwa build rilis akhir dibuat menggunakan perintah Xcode Product > Archive. Menggunakan perintah ini memastikan bahwa build dibuat dengan konfigurasi rilis and semua simbol debug dilucuti. Setelah mengeluarkan perintah ini, sakelar Xcode ke tab Organizer Archives. Untuk panduan tentang cara menghitung ukuran aplikasi dan tips pengolah ukuran lainnya, lihat Q&A Teknis Apple pada Mengurangi ukuran aplikasi saya.

Note: Kami merekomendasikan Anda memiliki margin ekstra kecil untuk kesalahan ketika bertujuan untuk batas unduhan over-the-air (yang saat ini adalah 150MB).

Tingkat pengupasan iOS

Mengaktifkan optimasi ukuran untuk Mono scripting backendKerangka kerja yang skrip di Unity. Unity mendukung tiga backend scripting yang berbeda tergantung pada platform target: Mono, .NET dan IL2CPP. Platform Windows Universal, namun hanya mendukung dua: .NET dan IL2CPP. More info
Lihat di Glossary
membangun dengan cara pengupasan dalam cara berikut:

  1. Tingkat Strip assembliesscriptsSepotong kode yang memungkinkan Anda untuk membuat Komponen Anda sendiri, memicu peristiwa permainan, memodifikasi sifat komponen dari waktu ke waktu dan menanggapi input pengguna dengan cara apa pun yang Anda sukai. More info
    Lihat di Glossary
    : bytecode AOT compilation dianalisis sehingga kelas dan metode yang tidak direferensikan dari skrip dapat dihapus dari DLLs dan dengan demikian dikecualikan dari fase . Optimasi ini mengurangi ukuran biner utama dan menemani DLLs dan aman selama tidak ada refleksi digunakan.

  2. Strip ByteCode tingkat: setiap .NET DLLs (dilanjutkan dalam folder Data) dilucuti ke metadata hanya. Hal ini dimungkinkan karena semua kode sudah diprediksi selama fase AOT dan terhubung ke biner utama.

  3. Tingkat Use micro mscorlib: versi khusus yang lebih kecil mscorlib digunakan. Beberapa komponen dihapus dari perpustakaan ini, misalnya, Keamanan, Refleksi. Emit, Remoting, kalender non Gregorian, dll. Juga, interdependensi antara komponen internal diminimalkan. Optimasi ini mengurangi ukuran biner utama dan mscorlib.dll tetapi tidak kompatibel dengan beberapa Sistem dan Sistem. Kelas perakitan Xml, jadi gunakan dengan perawatan.

Tingkat ini kumulatif, sehingga tingkat 3 optimasi implicitly termasuk tingkat 2 dan 1, sementara tingkat 2 optimasi termasuk tingkat 1.

Catatan bahwa Micro mscorlib adalah versi yang sangat dilucuti dari perpustakaan inti. Hanya barang-barang yang diperlukan oleh Mono runtime di Unity tetap. Praktik terbaik untuk menggunakan micro mscorlib tidak menggunakan kelas atau fitur lainnya. NET yang tidak diperlukan oleh aplikasi Anda. GUIDs adalah contoh yang baik dari sesuatu yang bisa Anda jinakkan; mereka dapat dengan mudah diganti dengan custom made pseudo GUIDs dan melakukan ini akan menghasilkan kinerja yang lebih baik dan ukuran aplikasi.

Stripping dengan IL2CPP

Lihat dokumentasi tentang terkelola bytecode stripping dengan IL2CPP untuk informasi lebih lanjut

Sitemap Hal ini kadang-kadang bisa sulit untuk menentukan kelas mana yang tergaris dalam kesalahan meskipun aplikasi membutuhkannya. Anda sering bisa mendapatkan informasi yang berguna tentang ini dengan menjalankan aplikasi yang dilucuti pada simulator dan memeriksa konsol Xcode untuk pesan kesalahan.Note: It can sometimes be difficult to determine which classes are getting stripped in error even though the application requires them. You can often get useful information about this by running the stripped application on the simulator and checking the Xcode console for error messages.

Daftar cek sederhana untuk membuat distribusi Anda sekecil mungkin

  1. Meminimalkan aset Anda: memungkinkan compressionMetode menyimpan data yang mengurangi jumlah ruang penyimpanan yang dibutuhkan. Kompresi Tekstur, Kompresi Animasi, Kompresi Audio, Membangun Kompresi.
    Lihat di Glossary
    untuk tekstur dan mengurangi resolusi mereka sejauh mungkin. Juga, meminimalkan jumlah suara yang tidak terkompresi. Ada beberapa tips tambahan untuk pengurangan ukuran file here.
  2. Di Mono, set iOS Stripping Level ke Use micro mscorlib, atau pada IL2CPPBack-end scripting bersatu yang dapat Anda gunakan sebagai alternatif untuk Mono ketika proyek bangunan untuk beberapa platform. More info
    Lihat di Glossary
    memungkinkan Strip Engine Code.
  3. Mengatur tingkat optimasi panggilan skrip ke Fast but no exceptions.
  4. Jangan gunakan apa pun yang tinggal di System.dll atau System. Xml.dll Perpustakaan ini kompatibel dengan mscorlib mikro.not compatible with micro mscorlib.
  5. Hapus ketergantungan kode yang tidak perlu.
  6. Mengatur Tingkat Kompatibilitas API ke .Net 2.0 subset. Catatan bahwa subset .Net 2.0 memiliki kompatibilitas terbatas dengan perpustakaan lain.
  7. Hindari wadah generik dalam kombinasi dengan jenis nilai, termasuk struktur.

Bagaimana kecil bisa aplikasi dibuat dengan Unity?

Proyek kosong akan kurang dari 22 MB di App Store jika semua optimasi ukuran dimatikan. Dengan pengupasan kode, sceneAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
Lihat di Glossary
kosong hanya dengan cameraKomponen yang menciptakan gambar sudut pandang tertentu di tempat kejadian Anda. Output ditarik ke layar atau ditangkap sebagai tekstur. More info
Lihat di Glossary
utama dapat dikurangi menjadi kurang dari 12 MB di App Store (zipped dan DRM terpasang).

Mengapa aplikasi saya meningkat dalam ukuran setelah dirilis ke App Store?

Ketika menerbitkan aplikasi Anda, layanan Apple App Store pertama mengenkripsi file biner dan kemudian mengompresnya melalui zip. Enkripsi meningkatkan ’’randomness’ dari segmen kode dan sehingga membuatnya lebih buruk untuk kompresi. Cek “Bangunan distribusi” bab di atas cara memperkirakan ukuran App Store sebelum pengiriman.


  • 2018–06–14 Login

  • 2017–14–06 - Upated Stripping dengan bagian IL2CPP

Mengukur kinerja dengan built-in profiler
Mengoptimalkan Fisika Sitemap