icon-theme.cache คืออะไร


10

เมื่อฉันเรียกใช้คำสั่งต่อไปใน Lubuntu 12.10 ของฉัน

[11:09 PM] ~ $ find /usr/share/icons/ -iname icon-theme.cache -type f

ฉันได้รับต่อไปนี้ (หลังจากเพิ่มวันที่และขนาดที่แก้ไขล่าสุด):

/usr/share/icons/lubuntu/icon-theme.cache              20121125  61.2 KiB
/usr/share/icons/Humanity-Dark/icon-theme.cache        20120810  40.6 KiB
/usr/share/icons/Humanity/icon-theme.cache             20120810 931.9 KiB
/usr/share/icons/gnome/icon-theme.cache                20121017  65.8 MiB
/usr/share/icons/ubuntu-mono-light/icon-theme.cache    20130408 140.0 KiB
/usr/share/icons/LoginIcons/icon-theme.cache           20130408   628 bytes
/usr/share/icons/ubuntu-mono-dark/icon-theme.cache     20130408 139.9 KiB
/usr/share/icons/hicolor/icon-theme.cache              20130406  12.4 MiB
/usr/share/icons/elementary-mono-dark/icon-theme.cache 20120926  12.4 KiB

และไฟล์ทั้งหมดเหล่านี้ดังแสดงในตัวอย่างด้านล่างเป็นประเภทTrueType font data:

[11:09 PM] ~ $ file /usr/share/icons/hicolor/icon-theme.cache
/usr/share/icons/hicolor/icon-theme.cache: TrueType font data

คำถามของฉันที่เกี่ยวข้องอย่างใกล้ชิดคือ:

  • icon-theme.cacheฟังก์ชั่นคืออะไรและอะไร? ความหมายของcacheชื่อไฟล์เหล่านี้คืออะไร? แท็กแคชนิยามคือ: " ข้อมูลชั่วคราวร้านค้าแคชอยู่บริเวณใกล้เคียงเพื่อที่จะสามารถเรียกดูได้มากขึ้นอย่างรวดเร็วกว่าการดึงข้อมูลได้จากการจัดเก็บสำรองข้อมูลจริง (ดิสก์เครือข่าย) หรือการคำนวณผลบางอย่างอีกครั้ง "
  • ทำไมขนาดไฟล์ถึงมีความหลากหลาย เป็นgnomeและhicolorคนที่ใหญ่ที่สุดเพราะพวกเขาให้ไอคอนสำรอง (ตามที่ผมอ่านบาง)?
  • แล้ววันที่ล่ะ? ฉันแน่ใจเกี่ยวกับสิ่งubuntu-monoที่พวกเขามาเมื่อฉันติดตั้งlight-themesใน 20130408 ​​ดังนั้นไฟล์เหล่านี้จะได้รับการแก้ไขในระหว่างการเปลี่ยนธีมหรือวันที่เป็นเพียงภาพสะท้อนของวันที่ติดตั้งหรือไม่

คำตอบ:


12

เพื่อให้เข้าใจว่าทำไมเราต้องการไฟล์เหล่านี้คุณต้องเข้าใจแนวคิดของการแมปไฟล์กับหน่วยความจำก่อน

ไฟล์ที่ แมปหน่วยความจำ:ไฟล์ที่แมปหน่วยความจำเป็นส่วนของหน่วยความจำเสมือนที่แมปโดยตรงกับไฟล์ที่มีอยู่จริงบนดิสก์ไบต์ต่อไบต์ มีประโยชน์มากมายจาก I / O แบบสตรีมดั้งเดิมเช่นประสิทธิภาพในระหว่างการเข้าถึงไฟล์ขนาดใหญ่แบบสุ่มหรือความสามารถในการแชร์หน่วยความจำที่แมประหว่างเธรดและกระบวนการต่าง ๆ

การเข้าถึงไฟล์หน่วยความจำที่แมปจะเร็วกว่าการใช้การอ่านและเขียนโดยตรงด้วยเหตุผลสองประการ ประการแรกการเรียกของระบบคือลำดับของขนาดช้ากว่าการเปลี่ยนหน่วยความจำภายในของโปรแกรมอย่างง่าย ประการที่สองในระบบปฏิบัติการส่วนใหญ่หน่วยความจำที่แมปจริง ๆ แล้วคือแคชเพจของเคอร์เนล (ไฟล์แคช) ซึ่งหมายความว่าไม่จำเป็นต้องสร้างสำเนาในพื้นที่ผู้ใช้

ตอนนี้รับคำถามของคุณทีละคน:

  1. icon-theme.cache คืออะไรและหน้าที่ของมันคืออะไร? ความหมายของแคชในชื่อไฟล์เหล่านี้คืออะไร?

    ไฟล์icon-theme.cacheมีข้อมูลที่แคชเกี่ยวกับไอคอนในแผนผังไดเรกทอรีด้านล่างไดเรกทอรีหนึ่ง (ซึ่งเกิดขึ้นเป็นหนึ่งที่มีอยู่index.themeสำหรับชุดรูปแบบเฉพาะ)

    GTK + สามารถใช้ไฟล์แคชเพื่อหลีกเลี่ยงการโทรของระบบและดิสก์ค้นหาโอเวอร์เฮดเมื่อแอปพลิเคชันเริ่มทำงาน เนื่องจากรูปแบบของไฟล์แคชช่วยให้สามารถทำการแมปหน่วยความจำร่วมกันระหว่างแอพพลิเคชั่นต่าง ๆ ได้ดังนั้นการใช้หน่วยความจำโดยรวมจึงลดลงเช่นกัน

  2. ทำไมขนาดไฟล์ถึงมีความหลากหลาย

    ขนาดไฟล์ขึ้นอยู่กับจำนวนของไอคอนในชุดไอคอน

  3. แล้ววันที่ล่ะ?

    หากเราใช้แคชหน่วยความจำมีบางอย่างในแคชเฉพาะเมื่อบางกระบวนการเข้าถึงตำแหน่งหน่วยความจำเฉพาะและยังคงอยู่ที่นั่นเว้นแต่ว่าแคชจะเต็มและองค์ประกอบนั้นจะต้องถูกลบออก

    ดังนั้นวันที่แก้ไขจะเป็นไปได้มากที่สุดขึ้นอยู่กับเมื่อกระบวนการบางอย่างอัพเดท ในกรณีนี้อาจเป็นเมื่อมีการใช้ไอคอนจากชุดรูปแบบ

    gtk-update-icon-cacheมีจริงคำสั่งในการปรับปรุงแคชไอคอนชื่อ

แหล่งที่มาและข้อมูลเพิ่มเติม:

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.