ממשק משתמש ותוכן למיליארדי משתמשים
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
חשוב לוודא שהאפליקציה מציעה ממשק משתמש אינטראקטיבי שמגיב במהירות לקלט של המשתמשים, ואם צריך, מפצה על השקה איטית.
חשוב לוודא שהאפליקציה מתוכננת כך שיהיה קל לבצע בה לוקליזציה, כלומר להתאים אותה לשפות שונות. לשם כך, צריך להביא בחשבון את ההבדלים בין השפות: לאפשר שינויים ברווחים, בצפיפות, בסדר, בהדגשה ובניסוח. כדאי גם לוודא שהתאריך, השעה ויחידות אחרות מותאמים לשפה ולתרבות של המדינה שבה הטלפון נמצא ומוצגים בהתאם להגדרות הטלפון.
ממשק משתמש מהיר ורספונסיבי
תפיסת הביצועים של האפליקציה בעיני המשתמשים מושפעת במידה רבה מהמהירות שבה האפליקציה מגיבה. לדוגמה, אינטראקציה עם המשתמש ותצוגה ברורה הן שתי מאפיינים חשובים של אפליקציה עם ביצועים טובים. כאן אפשר למצוא טיפים לאופטימיזציה של המאפיינים האלה ושל היבטים אחרים של מהירות התגובה של האפליקציה.
משוב מגע בכל הפריטים שאפשר לגעת בהם
- משוב מגע מוסיף תחושה מישושית לממשק המשתמש. כדי לצמצם ככל האפשר את זמן האחזור של האפליקציה, חשוב לוודא שהאפליקציה מספקת משוב על כל הרכיבים שאפשר לגעת בהם.
-
אינטראקציה רספונסיבית מעודדת את המשתמשים לחקור את האפליקציה לעומק
על ידי יצירת תגובות בזמן, הגיוניות ונעימות למסך לקלט של המשתמש.
אינטראקציה רספונסיבית משדרגת את האפליקציה משירות להעברת מידע לחוויה שמתקשרת באמצעות תגובות ויזואליות ומישושיות מרובות.
- מידע נוסף זמין במאמר בנושא התאמה אישית של משוב על מגע בתוכנית ההדרכה בנושא Android.
ממשק המשתמש צריך להיות תמיד אינטראקטיבי
- אפליקציות שלא מגיבות כשמתבצעת פעילות ברקע נתפסות כאיטיות ומפחיתות את שביעות הרצון של המשתמשים. חשוב לוודא שלאפליקציה יש תמיד ממשק משתמש רספונסיבי, ללא קשר לפעילות ברקע. כדי לעשות את זה, מבצעים פעולות ברשת או פעולות אחרות שצורכות משאבים רבים בשרשור רקע – חשוב להשאיר את שרשור ממשק המשתמש במצב סרק ככל האפשר.
- באפליקציות Material Design, השינויים החזותיים מינימליים בזמן טעינת התוכן. כל פעולה מיוצגת באמצעות אינדיקטור פעילות יחיד.
מומלץ להימנע מחסימת תיבות דו-שיח באמצעות
אינדיקטורים של טעינה.
- מצבים ריקים מתרחשים כשאין תוכן להצגה בתצוגה. יכול להיות
שזו רשימה שאין בה פריטים או חיפוש שלא מחזיר תוצאות. מומלץ להימנע ממצבים ריקים באמצעות תוכן התחלתי, חינוכי או התאמה הכי טובה.
אם האפשרויות האלה לא רלוונטיות, צריך להציג תמונה לא אינטראקטיבית וסיסמת טקסט
שמסבירות למשתמש מה הוא יראה כשיש משהו להציג.
- מידע נוסף זמין בהדרכה בנושא Android במאמר שמירה על רספונסיביות האפליקציה.
יעד של 60 פריימים לשנייה במכשירים זולים
- חשוב לוודא שהאפליקציה תמיד פועלת במהירות ובצורה חלקה, גם במכשירים זולים.
- ציור יתר יכול להאט את האפליקציה באופן משמעותי. הוא מתרחש כשהפיקסלים מצוירים יותר מפעם אחת בכל מעבר. דוגמה לכך היא תמונה עם לחצן שמוצב מעליה. למרות שאי אפשר להימנע מציור יתר, צריך לצמצם אותו כדי להבטיח קצב פריימים חלק. מבצעים ניפוי באגים בחריגה ב-GPU באפליקציה כדי לוודא שהיא ממוזערת.
- מכשירי Android מרעננים את המסך ב-60 פריימים לשנייה (fps), כלומר האפליקציה צריכה לעדכן את המסך תוך כ-16 אלפיות השנייה. יצירת פרופיל של האפליקציה באמצעות כלים במכשיר כדי לראות אם ומתי האפליקציה לא עומדת בממוצע הזה של 16 אלפיות השנייה.
- הפחתה או הסרה של אנימציות במכשירים זולים כדי להפחית את העומס על המעבד (CPU) והמעבד הגרפי (GPU) של המכשיר. מידע נוסף זמין במאמר שיפור הביצועים של פריסות.
- היררכיית תצוגה יעילה יכולה להאיץ את האפליקציה בלי להגדיל את
הזיכרון שהאפליקציה תופסת. מידע נוסף זמין במאמרים בנושא ביצועים והצגת היררכיות.
שימוש במסך הפעלה באפליקציות שנטענות לאט
- מסך הפתיחה הוא החוויה הראשונה של המשתמשים עם האפליקציה שלכם.
הצגת בד ציור ריק בזמן הפעלת האפליקציה מגדילה את תפיסת זמן הטעינה שלה, ולכן כדאי להשתמש בממשק משתמש של placeholder או במסך הפעלה ממותג כדי לצמצם את זמן הטעינה הנתפס.
-
ממשק משתמש של placeholder הוא המעבר הכי חלק להפעלת האפליקציה, והוא מתאים גם להפעלת האפליקציה וגם למעברים בין פעילויות בתוך האפליקציה.
-
מסכי הפעלה ממותגים מספקים חשיפה רגעית למותג, ומאפשרים לממשק המשתמש
להתמקד בתוכן.
- הדרך הכי טובה להתמודד עם מהירויות התחלה איטיות היא פשוט להימנע מהן. ביצועים בזמן ההפעלה מספק מידע שיכול לעזור לכם לקצר את זמן ההפעלה של האפליקציה.
שיטות מומלצות לשימוש בממשק המשתמש
-
Material Design היא שפה חזותית שמסנתזת את העקרונות הקלאסיים של עיצוב טוב עם החדשנות והאפשרויות של הטכנולוגיה והמדע. Material Design מספק מערכת בסיסית אחת שמאפשרת חוויה אחידה בפלטפורמות ובגודלי מכשירים שונים. כדאי להשתמש ברכיבים מרכזיים של Material Design כדי שהמשתמשים ידעו באופן אינטואיטיבי איך להשתמש באפליקציה.
- רכיבי Material Design מוכנים לשימוש זמינים בספרייה Material Design Support. התמיכה ברכיבים האלה זמינה ב-Android 2.1 (רמת API 7) ומעלה.
התאמה לשוק המקומי
- יכול להיות שהמשתמשים שלכם מגיעים מכל העולם, והשפה הראשונה שלהם לא בהכרח זהה לשפה שלכם. אם לא תציגו את האפליקציה בשפה שהמשתמשים יכולים לקרוא, תפספסו הזדמנות. לכן, כדאי להתאים את האפליקציה לשוק המקומי בשפות אזוריות מרכזיות.
- מידע נוסף זמין במאמר בנושא תמיכה בשפות שונות בתוכנית ההדרכה בנושא Android, וברשימת המשימות לבדיקת לוקליזציה.
- החל מ-Android 7.0 (רמת API 24), מסגרת Android מספקת קבוצת משנה של ICU4J APIs, שיכולה לעזור לכם להתאים את האפליקציה לשפות שונות. מידע נוסף זמין במאמר
ICU4J Android Framework APIs.
מקורות מידע נוספים
כדי לקבל מידע נוסף על הנושא הזה, אפשר לעיין במקורות המידע הנוספים הבאים:
נושאים נוספים
פוסטים בבלוג
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[null,null,["עדכון אחרון: 2025-07-27 (שעון UTC)."],[],[],null,["# UI and content for billions\n\nMake sure that your app offers an interactive UI that responds quickly to user input and, if necessary, compensates for a slow launch.\nEnsure that your app is designed to be easily localized by\naccommodating the variations between languages: allow for spacing, density,\norder, emphasis, and wording variations. Also make sure that date, time, and\nother units are internationalized and displayed according to the phone's\nsettings.\n\nFast and responsive user interface\n----------------------------------\n\n\u003cbr /\u003e\n\n\nThe user's perception of app performance is formed in large part by the app's\nresponsiveness. For example, interaction with the user and a crisp display are two important\ncharacteristics of a performant app. Here you can find tips on how to optimize these and\nother aspects of an app's speed and responsiveness.\n\n### Touch feedback on all touchable items\n\n- Touch feedback adds a tactile feeling to the user interface. You should ensure your app provides touch feedback on all touchable elements to reduce the perceived app latency as much as possible.\n- [Responsive interaction](https://material.io/guidelines/motion/material-motion.html) encourages deeper exploration of an app by creating timely, logical, and delightful screen reactions to user input. Responsive interaction elevates an app from an information-delivery service to an experience that communicates using multiple visual and tactile responses.\n- For more information, see the Android training on [Customizing Touch\n Feedback](/training/material/animations#Touch).\n\n### UI should always be interactive\n\n- Apps that are unresponsive when performing background activity feel slow and reduce user satisfaction. Ensure your app always has a responsive UI regardless of any background activity. Achieve this by performing network operations or any heavy-duty operations in a background thread---keep the UI thread as idle as you can.\n- Material Design apps use minimal visual changes when loading content by representing each operation with a single activity indicator. Avoid blocking dialogs with [loading indicators](https://material.io/guidelines/components/progress-activity.html).\n- [Empty\n states](https://material.io/guidelines/patterns/empty-states.html) occur when a view has no content to show. It might be a list that has no items or a search that returns no results. Avoid empty states using starter, educational, or best match content. When these options aren't applicable display a non-interactive image and a text tagline that tell the user what they'll see when there is something to display.\n- For more information, see the Android training on [Keeping Your App\n Responsive](/training/articles/perf-anr).\n\n### Target 60 frames per second on low-cost devices\n\n- Ensure that your app always runs fast and smoothly, even on low-cost devices.\n- Overdraw can significantly slow down your app---it occurs when the pixels are being drawn more than once per pass. An example of this is when you have an image with a button placed on top of it. While some overdraw is unavoidable, it should be minimized to ensure a smooth frame rate. Perform [Debug\n GPU overdraw](/tools/performance/debug-gpu-overdraw) on your app to ensure it's minimized.\n- Android devices refresh the screen at 60 frames per second (fps), meaning your app has to update the screen within roughly 16 milliseconds. [Profile\n your app](/studio/profile/dev-options-rendering) using on-device tools to see if and when your app is not meeting this 16 ms average.\n- Reduce or remove animations on low-cost devices to lessen the burden on the device's CPU and GPU. For more information, see [Improve\n layout performance](/develop/ui/views/layout/improving-layouts).\n- An efficient view hierarchy can speed up your app without increasing the app's memory footprint. For more information, see [Performance\n and View Hierarchies.](/topic/performance/optimizing-view-hierarchies)\n\n### Use a launch screen on slow to start apps\n\n- The launch screen is a user's first experience of your application. Displaying a blank canvas while launching your app increases the perception of its loading time, so consider using a placeholder UI or a branded launch screen to reduce the perceived loading time.\n- A[placeholder UI](https://material.io/design/communication/launch-screen.html#placeholder-ui) is the most seamless launch transition, appropriate for both app launches and in-app activity transitions.\n- [Branded launch screens](/guide/topics/ui/splash-screen) provide momentary brand exposure, freeing the UI to focus on content.\n- The best way to deal with slow start speeds is not to have them. [Launch-Time Performance](/topic/performance/launch-time) provides information that may help you speed up your app's launch time.\n\nUser interface best practices\n-----------------------------\n\n- [Material Design](https://material.io/guidelines/material-design/introduction.html) is a visual language that synthesizes the classic principles of good design with the innovation and possibility of technology and science. Material Design provides a single underlying system that allows for a unified experience across platforms and device sizes. Consider using key Material Design components so that users intuitively know how to use your app.\n- Ready-to-use Material Design components are available in the [Material Design Support\n library](/topic/libraries/support-library/features#material-design). These components are supported in Android 2.1 (API level 7) and above.\n\nLocalization\n------------\n\n- Your users could be from any part of the world and their first language may not be yours. If you don't present your app in a language that your users can read, it is a missed opportunity. You should therefore localize your app for key regional languages.\n- To learn more, visit the Android training on [Supporting\n Different Languages](/training/basics/supporting-devices/languages) and see the [localization checklist](/distribute/tools/localization-checklist).\n- Starting from Android 7.0 (API level 24), the Android framework makes available a subset of the [ICU4J APIs](http://userguide.icu-project.org/), which can help you localize your app into multiple languages. For more information, see [ICU4J Android Framework APIs.](/guide/topics/resources/icu4j-framework)\n\n\u003cbr /\u003e\n\nAdditional resources\n--------------------\n\nTo learn more about this topic, view the following additional resources:\n\n### Further topics\n\n- [Keeping your app responsive](/training/articles/perf-anr)\n- [Improving layout performance](/training/improving-layouts)\n- [Introduction to animations](/training/animation/overview)\n\n### Blog posts\n\n- [Writing for global audiences](https://medium.com/google-design/writing-for-global-audiences-d339d23e9612)"]]