תוצאות בדיקה לאפליקצית דואר מבוססת exchange
לאחר שנואשתי מהאפליקציה הדיפולטית (email.apk) שמגיעה ביחד עם הרום (זליגת סוללה נוראית) התחלתי לחפש אלטרנטיבות במרקט. ברשותי גלקסי S ובדקתי את האפליקציה גם ברום של סמסונג וגם ב CM7.
האפליקציות שבדקתי הינן TouchDown
https://market.android.com/details?id=c ... _developer
וגם RoadSync
https://market.android.com/details?id=c ... rch_result
כמות הפיצ'רים ב TouchDown טובה יותר מאשר RoadSync אבל זליגת הסוללה גבוהה לפחות כמו ב email המקורי של הרום.
לגבי RoadSync: ניתן לראות שזליגת הסוללה קטנה מאוד. הטלפון ישן רוב הזמן. בסך הכל תוכנה נהדרת מבחינה זו.
לגבי TouchDown: במצב Push, הזליגה נוראית. (מסומן בחץ אדום). כאשר עוברים למצב Manual או למצב Pull עם 30 דקות מרווח הזליגה יורדת בצורה משמעותית. (מסומן בכחול וצהוב בהתאמה).
1. האם משהו יודע מדוע במצב Push הטלפון לא ישן בשימוש ב TouchDown? מדובר בבאג תוכנה?
2. יש עוד אופציות ששווה לבדוק?
האפליקציות שבדקתי הינן TouchDown
https://market.android.com/details?id=c ... _developer
וגם RoadSync
https://market.android.com/details?id=c ... rch_result
כמות הפיצ'רים ב TouchDown טובה יותר מאשר RoadSync אבל זליגת הסוללה גבוהה לפחות כמו ב email המקורי של הרום.
לגבי RoadSync: ניתן לראות שזליגת הסוללה קטנה מאוד. הטלפון ישן רוב הזמן. בסך הכל תוכנה נהדרת מבחינה זו.
לגבי TouchDown: במצב Push, הזליגה נוראית. (מסומן בחץ אדום). כאשר עוברים למצב Manual או למצב Pull עם 30 דקות מרווח הזליגה יורדת בצורה משמעותית. (מסומן בכחול וצהוב בהתאמה).
1. האם משהו יודע מדוע במצב Push הטלפון לא ישן בשימוש ב TouchDown? מדובר בבאג תוכנה?
2. יש עוד אופציות ששווה לבדוק?
-
- אפליקציית RoadSync
-
- אפליקציית TouchDown
- Catskinner
- חבר במועדון HT

- תגובות: 16019
- הצטרף: נובמבר 2006
- מיקום: הוד השרון
- נתן תודות: 123 פעמים
- קיבל תודות: 940 פעמים
ב"ישן" אתה מתכוון לכיבוי המסך? כי הוא כן נכבה גם במצב push עם TouchDown. מה שלא נכבה זו התקשורת כי הוא חייב לבצע להיות תמיד מוכן לקבל עדכונים בדחיפה משרת הדואר.
מעצבן אותי כשאומרים "אני ילך, אני יקנה". מעצבן אותי עוד יותר כשכותבים את זה.
לא, ב"ישן" אני מתכוון ששורת ה "Awake" בתמונות שצירפתי מראות שאין פעילות.Catskinner כתב:ב"ישן" אתה מתכוון לכיבוי המסך? כי הוא כן נכבה גם במצב push עם TouchDown. מה שלא נכבה זו התקשורת כי הוא חייב לבצע להיות תמיד מוכן לקבל עדכונים בדחיפה משרת הדואר....
אתה בעצם טוען שתמיד תקשורת ב push תגרום לזליגת סוללה גבוהה יותר מאשר pull/manual? זה עומד בסתירה לכך שכאשר RoadSync מקונפג ל push הוא לוקח מעט מאוד סוללה וכן שורת ה "Awake" מראה שהוא ישן.
כמדומני שגם gmail עובד ב push והוא תמיד מסונכרן אצלי וגם לא לוקח כמעט סוללה ושורת ה "Awake" גם מראה שהוא ישן.
- Catskinner
- חבר במועדון HT

- תגובות: 16019
- הצטרף: נובמבר 2006
- מיקום: הוד השרון
- נתן תודות: 123 פעמים
- קיבל תודות: 940 פעמים
זה שבמצב Push צריכת החשמל גבוהה יותר מאשר ב Pull או Manual זה בטוח. בנוגע לשאלה מדוע ב TouchDown זה מבזבז כל כך הרבה לעומת מצב ה Push ביישומים אחרים זו כבר שאלה שצריך להפנות לפורום שלהם. אחת האפשרויות שעולות לי לראש הוא שאצלם ה Push הוא בעצם Pull עם טיימר קצר ואתה יכול לבדוק זאת בכך שתתזמן את זמן ההגעה של הודעת דואר בשני היישומים. במצב Push אמיתי זה צריך להיות מיידי.
מעצבן אותי כשאומרים "אני ילך, אני יקנה". מעצבן אותי עוד יותר כשכותבים את זה.
במצב push הדואר אכן מגיע מיידית בשני הישומים במצב push.Catskinner כתב:זה שבמצב Push צריכת החשמל גבוהה יותר מאשר ב Pull או Manual זה בטוח. בנוגע לשאלה מדוע ב TouchDown זה מבזבז כל כך הרבה לעומת מצב ה Push ביישומים אחרים זו כבר שאלה שצריך להפנות לפורום שלהם. אחת האפשרויות שעולות לי לראש הוא שאצלם ה Push הוא בעצם Pull עם טיימר קצר ואתה יכול לבדוק זאת בכך שתתזמן את זמן ההגעה של הודעת דואר בשני היישומים. במצב Push אמיתי זה צריך להיות מיידי....
אז מדובר בבאג ב TouchDown? חבל. יש חלופות נוספות?
eagle75,
הנושא עליו אתה מדבר הוא הרבה יותר מורכב ממה שזה נראה בהתחלה. כמות הגורמים שיכולים להשפיע על צריכת סוללה במצב עבודה של שירות כלשהו שעובד ב Push או ב Pull הוא עצום.
נתחיל מהדברים הפשוטים:
-כל שירות (אפליקצייה) שעובד בדחיפה, חייב להחזיק לפחות חיבור פתוח אחד לשרת כלשהו
-בלי להיכנס לפורוטוקלי תקשורות, אני בגדול אומר שיש צורך במנגנון Keep Alive על מנת לשמר (ולשחזר) את החיבור הזה (גם זה כמובן צורך סוללה)
-כל אפליקצייה באנדרואיד יכולה לממש שירות Client-Server מול שירות קנייני בענן שהמימוש לשירות הזה יכול להעשות בכל צורה (אני יכול לבנות Service באנדרואיד שמחזיק חיבור קבוע לשירות שלי בענן וכל שנייה אחת הוא שולח Ping לשרת על מנת לוודא שהוא חי. בנוסף, ה Service שלי יכול להשאיר את מכשיר האנדרואיד במצב של Awake)
-בעולם המובייל, אין דרך פשוטה, לשירות בענן ליזום חיבור לאפליקצייה (קליינט) שרצה על המכשיר. הסיבה לכך היא שמכשירי הסמארטפון לא מקבלים כתובות חוקיות לענן וכמעט תמיד נמצאים מאחורי NAT-ים למינהם
-בגסות אני אומר שתופתעו לשמוע שדווקא פעולת Pull גוזלת יותר משאבים מפעולת Push וזה נובע בעיקר בגלל שפעולת Tx (שידור) תובענית יותר מפעולת Rx (קבלה).
-לפעולת Pull אין צורך לשמר חיבור קבוע (לכן לא נדרש מנגנון של Keep Alive)
-במנגנון של Pull נעשים קריאות לענן גם כאשר אין שום נתון חדש
יאלה עכשיו מגיעים לאנדרואיד:
-מגירסה 2.2 גוגל הכניסו שירות חדש שנקרא C2D (ר"ת של Cloud to Device) שמאפשר דרכו לקבל עידכוני Push לאפליקצייות במכשיר
-השירות הזה משתמש בשירות (Service) של מערכת האנדרואיד, שהוא מאוד קל ומאוד ויעיל שתפקידו לשמר חיבור אחד ויחיד לשרת גוגל ודרכו בעצם מתבצעים כל פעולות ה Push במערכת
-השירות הזה גם אחראי על שימור החיבור (Keep Alive) לשרת גוגל והוא זה שאחראי על חידוש החיבור הזה ברגע שהוא נופל
-כל אפליקצייה שמעוניינת להשתמש בשירות הזה, נרשמת אליו ומקבלת מגוגל מספר יחודי (registration ID) שאותו היא מעבירה לשירות שלה בענן (נניח שרת דואר). עם המספר הזה השירות שולח לשרת גוגל נוטיפיקצייה על כך שלמכשיר הרלוונטי (ולאפליקצייה עליו) יש נתון חדש לשלוף מהשרת (השירות) בענן
-שימו לב שהאנדרואיד משמר רק חיבור אחד ויחיד לשרת גוגל שדרכו מתבצעים כל עידכוני ה Push במערכת לכל השירותים שנרשמו ל C2D (אפליקציות כגון ה Market ה Google TALK, ג'ימייל (שעובד ב Push) וכו). זה מאפשר יעילות וחסכון גבוהים מאוד
-כאמור, היעילות של אותו שירות מערכת שאחראי על החיבור ושימור החיבור לשרת גוגל, היא גבוה מאוד. צורכת מעט מאוד סוללה וכמו שכבר הבנתם מהגרפים, המכשיר לא מוגדר במצב של Awake כאשר השירות הזה רץ (והוא רץ תמיד)
-עדיין, כל אפליקצייה באנדרואיד שדורשת עבודה ב Push, יכולה לגרום למכשיר להישאר: ער כל הזמן, להתעורר כל זמן קצר, לשלוח מהענן למכשיר עידכונים רבים ב Push (גם בשימוש שירות C2D) ולכן כל אפליקצייה יכולה לעשות שמות בכל הנוגע לצריכת סוללה ולמשחק עם מצב Awake של המכשיר
-השירת הזה קיים רק מגירסה 2.2 ומעלה. לכן, בגירסאות קודמות עדיין יש צורך לממש שירות Push קנייני
טוב.....נראה לי מספיק חומר להודעה אחת
הנה תרשים שמתאר את המנגנון הזה:
Conn Server-שרת גוגל
App Server-שירות שמשויך לאפליקצייה (לדוגמה שירות של אפליקציית IM כלשהי)
הנושא עליו אתה מדבר הוא הרבה יותר מורכב ממה שזה נראה בהתחלה. כמות הגורמים שיכולים להשפיע על צריכת סוללה במצב עבודה של שירות כלשהו שעובד ב Push או ב Pull הוא עצום.
נתחיל מהדברים הפשוטים:
-כל שירות (אפליקצייה) שעובד בדחיפה, חייב להחזיק לפחות חיבור פתוח אחד לשרת כלשהו
-בלי להיכנס לפורוטוקלי תקשורות, אני בגדול אומר שיש צורך במנגנון Keep Alive על מנת לשמר (ולשחזר) את החיבור הזה (גם זה כמובן צורך סוללה)
-כל אפליקצייה באנדרואיד יכולה לממש שירות Client-Server מול שירות קנייני בענן שהמימוש לשירות הזה יכול להעשות בכל צורה (אני יכול לבנות Service באנדרואיד שמחזיק חיבור קבוע לשירות שלי בענן וכל שנייה אחת הוא שולח Ping לשרת על מנת לוודא שהוא חי. בנוסף, ה Service שלי יכול להשאיר את מכשיר האנדרואיד במצב של Awake)
-בעולם המובייל, אין דרך פשוטה, לשירות בענן ליזום חיבור לאפליקצייה (קליינט) שרצה על המכשיר. הסיבה לכך היא שמכשירי הסמארטפון לא מקבלים כתובות חוקיות לענן וכמעט תמיד נמצאים מאחורי NAT-ים למינהם
-בגסות אני אומר שתופתעו לשמוע שדווקא פעולת Pull גוזלת יותר משאבים מפעולת Push וזה נובע בעיקר בגלל שפעולת Tx (שידור) תובענית יותר מפעולת Rx (קבלה).
-לפעולת Pull אין צורך לשמר חיבור קבוע (לכן לא נדרש מנגנון של Keep Alive)
-במנגנון של Pull נעשים קריאות לענן גם כאשר אין שום נתון חדש
יאלה עכשיו מגיעים לאנדרואיד:
-מגירסה 2.2 גוגל הכניסו שירות חדש שנקרא C2D (ר"ת של Cloud to Device) שמאפשר דרכו לקבל עידכוני Push לאפליקצייות במכשיר
-השירות הזה משתמש בשירות (Service) של מערכת האנדרואיד, שהוא מאוד קל ומאוד ויעיל שתפקידו לשמר חיבור אחד ויחיד לשרת גוגל ודרכו בעצם מתבצעים כל פעולות ה Push במערכת
-השירות הזה גם אחראי על שימור החיבור (Keep Alive) לשרת גוגל והוא זה שאחראי על חידוש החיבור הזה ברגע שהוא נופל
-כל אפליקצייה שמעוניינת להשתמש בשירות הזה, נרשמת אליו ומקבלת מגוגל מספר יחודי (registration ID) שאותו היא מעבירה לשירות שלה בענן (נניח שרת דואר). עם המספר הזה השירות שולח לשרת גוגל נוטיפיקצייה על כך שלמכשיר הרלוונטי (ולאפליקצייה עליו) יש נתון חדש לשלוף מהשרת (השירות) בענן
-שימו לב שהאנדרואיד משמר רק חיבור אחד ויחיד לשרת גוגל שדרכו מתבצעים כל עידכוני ה Push במערכת לכל השירותים שנרשמו ל C2D (אפליקציות כגון ה Market ה Google TALK, ג'ימייל (שעובד ב Push) וכו). זה מאפשר יעילות וחסכון גבוהים מאוד
-כאמור, היעילות של אותו שירות מערכת שאחראי על החיבור ושימור החיבור לשרת גוגל, היא גבוה מאוד. צורכת מעט מאוד סוללה וכמו שכבר הבנתם מהגרפים, המכשיר לא מוגדר במצב של Awake כאשר השירות הזה רץ (והוא רץ תמיד)
-עדיין, כל אפליקצייה באנדרואיד שדורשת עבודה ב Push, יכולה לגרום למכשיר להישאר: ער כל הזמן, להתעורר כל זמן קצר, לשלוח מהענן למכשיר עידכונים רבים ב Push (גם בשימוש שירות C2D) ולכן כל אפליקצייה יכולה לעשות שמות בכל הנוגע לצריכת סוללה ולמשחק עם מצב Awake של המכשיר
-השירת הזה קיים רק מגירסה 2.2 ומעלה. לכן, בגירסאות קודמות עדיין יש צורך לממש שירות Push קנייני
טוב.....נראה לי מספיק חומר להודעה אחת
הנה תרשים שמתאר את המנגנון הזה:
Conn Server-שרת גוגל
App Server-שירות שמשויך לאפליקצייה (לדוגמה שירות של אפליקציית IM כלשהי)
אריה,
אתה בהחלט אנציקלופידה מהלכת על שניים לעינייני אנדרואיד.
אם ככה, אז באמת עדיף לי להשתמש במנגנון push אבל לחפש תוכנה שמממשת את הנושא בצורה נכונה ולא גורמת למכשיר להישאר ער בזמן הזה.
אני אנסה את התוכנה ש creed המליץ עליה.
תודה רבה על ההסבר!
אתה בהחלט אנציקלופידה מהלכת על שניים לעינייני אנדרואיד.
אם ככה, אז באמת עדיף לי להשתמש במנגנון push אבל לחפש תוכנה שמממשת את הנושא בצורה נכונה ולא גורמת למכשיר להישאר ער בזמן הזה.
אני אנסה את התוכנה ש creed המליץ עליה.
תודה רבה על ההסבר!



