hamidi2
05-11-2016, 18:52
سلام
من در حال حاضر یک گوشی lg g3 beat دارم که باهاش مشکل دارم و میخوام عوضش کنم. عرض میکنم چه مشکلی. و میخوام که اگر قراره گوشی دیگری خریداری بشه یه گوشیای باشه که مطمئن باشم مشکلی که در حال حاضر با این گوشی دارم رو نداره و در عین حال مشکل دیگری هم برام پیش نمیاره.
حالا مشکل چیه؟ من راجع بهش یه مقدار تحقیق کردم و به این نتیجه رسیدم که اندروید به طور کلی سیستمش اینطوریه و این مشکل رو ذاتاً داره. حالا ممکنه برای بعضی بیشتر به وجود بیاد و برای بعضی کمتر، اونقدر کم که شاید هیچوقت بهش برنخورده باشند یا بهش دقت نکرده باشند.
در هر سیستم عامل قابل اتکایی هر برنامهای که اجرا میشه میاد در حافظه بار میشه و توسط سیستم عامل اجرا میشه. اگر حافظهٔ سیستم کم باشه و تعداد زیادی برنامه اجرا شده باشه طبیعتاً همهٔ برنامهها هم زمان نمیتونند در حافظه موجود باشند. چون حجمی که مجموع این برنامهها از حافظه اشغال میکنند بیش از کل حافظهٔ موجود هست. بنابراین سیستمهای عامل برنامههایی که فعالیتهای اخیر کمتری داشتهاند رو انتخاب میکنند و بخشی از حافظه که توسط اونها اشغال شده رو به «یک فایل» به نام swap file یا یک partition از هارد دیسک منتقل میکنند تا حافظه برای اجرای [بهتر] برنامههای دیگه آزاد بشه. طبیعتاً اگر کاربر تصمیم بگیره که باز بره کار با اون برنامهها رو ادامه بده سیستم عامل یک برنامهٔ کمتر استفاده شدهٔ دیگه رو انتخاب میکنه و حافظهای که توسط اون اشغال شده رو به swap file منتقل میکنه و حافظهای از برنامهٔ خواسته شده رو که قبلاً به swap file منتقل کرده بود رو دوباره به حافظهٔ اصلی برمیگردونه تا اجرای برنامه بتونه ادامه پیدا کنه. طبیعتاً ترجیح بر اینه که اگر حافظهٔ سیستم کمه برنامههای زیادی هم زمان اجرا نشن که باعث نشه کار به swap کردن بکشه. چون این کار اجرای برنامهها رو به نحو قابل ملاحظهای کند خواهد کرد.
این توضیح swap file بود که شاید خیلی از شما هم با اون آشنا باشید و نحوهٔ اجرای تعداد زیادی برنامه به طور همزمان در سیستمی با حافظهٔ کم. همونطور که گفتم سیستم عاملهای قابل اتکا مثل ویندوز و لینوکس این کارو میکنند. اما مشکل اینجا است که اندروید این کارو نمیکنه. ظاهراً هیچ نسخهای حتی مارشمالو هم این کارو نمیکنه. به جاش وقتی حافظه کم میاره برنامهها رو «میبنده» و اگر طرف بخواد دوباره اون برنامه رو فعال کنه تا کارش رو با اون «ادامه» بده با کمال تعجب میبینه که اون برنامه داره دوباره از اول اجرا میشه. مثلاً pdfی رو دارید میخونید، documentی رو دارید مینویسید، وسط یک بازی هستید که نمیخواهید بسته بشه که اگر بشه تمام کارهایی که کردهاید میپره و زحمتهاتون به باد میره یا هر برنامهٔ دیگری، ممکنه بسته بشه و شما کارهایی که کردهاید رو به راحتی از دست میدید. مثلاً ممکنه وسط انتقال وجه، وقتی که دارید شماره کارت مقصد رو وارد میکنید ممکنه براتون پیغامی بیاد که باید همون موقع بهش جواب بدید، میرید جواب میدید و برمیگردید و میبینید browser دوباره از اول داره اجرا میشه و homepage اینترنت بانک رو میاره. خیلی از مثالها رو میشه زد که هر کسی بسته به نحوهٔ کاربرد گوشیش میتونه مواردی از این مسأله رو تا به حال باهاش مواجه شده باشه.
به همین دلیله که من اندروید رو سیستم عاملی قابل اتکا نمیدونم. تنها رنگ و لعاب یک سیستم عامل رو داره و در واقع در management برنامهها در حافظه قافیه رو باخته.
اگر بخواهید مثال براتون ملموستر بشه فرض کنید تو محیط ویندوز هستید و Alt+Tab میزنید که برگردید سر برنامهای که داشتید باهاش کار میکردید و با کمال تعجب ببینید برنامهتون بیاطلاعتون بسته شده و هر آنچه که تایپ کرده بودید یا در وسط انجام اون بودید هم از دست رفته! :n29: اندروید دقیقاً اینطوریه.
در نسخهٔ مارشمالو یک قابلیت برای جبران این مسأله اضافه شده که شما میتونید تعیین کنید که برنامهٔ خاصی همیشه در حافظه باقی بمونه و بسته نشه! اسم این رو هم مدیریت حافظه نمیشه گذاشت. تنها اتفاقی که افتاده اینه که به جای اینکه سیستم عامل بیاد این کارو انجام بده شما رو هم در انتخاب برنامهها شریک کرده. در حالی که این کار باید بتونه به نحو احسن توسط خود سیستم عامل انجام بشه. در عین حال این انتخاب کاربر نیست که برنامهای اصلاً بسته نشه. اگر لازمه اون بخش از حافظه که توسط اون اشغال شده با swap کردن آزاد بشه، طوری نیست. اما دوباره بتونه در موقع لزوم به حافظهٔ اصلی منتقل بشه.
من شاید وسواس زیادی در درست کار کردن یک گوشی دارم. اما این حقیقت داره. ممکنه شما در گوشیای با ۴ گیگ رم هیچوقت به این مشکل برنخورده باشید. ممکنه بعضی جواب بدن خوب رفتی گوشی زاقارت خریدی. برو یه گوشی با رم بالا بخر. من که فلان گوشی رو دارم هیچوقت به این مشکل برنخوردهام و غیره. اما این از حقیقت ماجرا چیزی کم نمیکنه. حقیقت اینه که نحوهٔ عملکرد اندروید به این گونه است و این احتمال که شما زحمتهاتون رو در یک اپ از دست بدید هیچوقت صفر نیست.
مسألهٔ دیگری که در مورد اندروید واقعاً جای تأسف داره اینه که همه چیز داره در بستر platformی virtual اجرا میشه. هیچ برنامهای در اندروید به زبان ماشین نوشته نمیشه. CPU تنها virtual machine و سرویسهایی که برای اجرای اون لازم هستند رو بالا میاره و بعد از اون تمام اپ ها توسط این virtual machine اجرا میشن. اگر اینطور نیست به من بگین نیست که مطلع بشم. تا اونجایی که تحقیق کردم به این رسیدم. همین باعث کندی بیش از حد اندروید میشه. همین باعث میشه که گوشی آیفون با دو core بتونه performanceی بالاتر از گوشی اندرویدی با هشت core داشته باشه. برای اجرای برنامهها در بستر virtual machine هم نیاز به رم بالاتری هست و هم CPU قویتری. طبیعتاً مصرف باتری بیشتر خواهد بود. پس لازم باتری قویتری مورد استفاده قرار بگیره.
از تمام این حرفها میشه اینطور برداشت کرد که گوگل با ارائهٔ اندروید و سامسونگ و دیگران با ارائهٔ گوشیهای ظاهر فریب بیشتر قصد داشتند در بازار رقابت به خود سهم بیشتری رو اختصاص بدند. در یک کلام business به هر قیمتی. و میبینیم که موفق هم شدهاند. در حالی که این بازار براشون سرمایهٔ هنگفتی رو به ارمغان میاره که به اونها امکان میده حالا بشینند روی نوشتن یک سیستم عامل به درد بخور کار کنند. سیستم عاملی که هنوز ارائه نشده.
از سوی دیگر شرکت اپل همچنان بر طبل خودخواهیها و انحصارطلبیهای خود میکوبه و دوست داره مشتری رو به سمت و سویی که خودش تمایل داره بکشونه، نه این که مشتری حرف اول و آخر رو بزنه و نیازهای مشتری باشه که تعیین کنندهٔ سیاستهای این شرکته.
من تجربهٔ کار با iOS رو نداشتهام. اما تا اونجایی که تحقیق کردم از این دو عیب مبرا است. برنامههایی که برای iPhone نوشته میشه توسط objective C به زبان ماشین تبدیل و توسط خود processor به طور مستقیم اجرا میشه. طبیعتاً سرعت بالاتر و اجرای روانتری خواهد داشت و حافظهٔ کمتری رو اشغال میکنه. مصرف پایینتر باتری هم نتیجهٔ همین هست. در عین حال swap کردن بخشی از قابلیتهای iOS هست. بنا به این دلائل بر خلاف اندروید میشه به iOS به دید یک سیستم عامل نگاه کرد، یک سیستم قابل اتکا.
همچنین تجربهٔ کار با WP رو هم نداشتهام. Windows Phone هرچند از جهاتی مورد توجهه از قبیل اینکه هنگ نمیکنه و غیره، از طرفی دسته گل Microsoftه. Microsoftی که سابقهش رو در ویندوز دیدهایم و بعضاً ستم کشیدهایم. گفته میشه هر applicationی برای WP ارائه نمیشه. من به این وادی حتی از iOS هم ناآشناترم.
حالا با توجه به این صحبتها و تجربیات کارشناسانی چون شما دوست دارم به من راهنمایی بدید. اینها که گفتم روحیات مرا برای شما تا حد زیادی روشن کرد. شما فکر میکنید بر اساس این روحیات انتخاب من چه میتونه باشه؟
ممکنه بپرسید نکتهٔ اول اینه که چقدر میخوای هزینه کنی؟ بله این نکتهٔ مهمیه. اما به نظر من اولین نکته نیست. مهم اینه که اول من به گوشیهای «قابل قبول» برسم و بعد برم از میون اونها اونی که بیشتر با بودجهٔ من تناسب داره رو انتخاب کنم. پس فرض کنید نخواهیم قیمت رو ملاک قرار بدیم. نظر بدید.
محدودیتهای آیفون رو نمیدونم. لطفاً اونها رو لیست کنید.
منتظر پاسخهای دقیقتون هستم.
ممنون
من در حال حاضر یک گوشی lg g3 beat دارم که باهاش مشکل دارم و میخوام عوضش کنم. عرض میکنم چه مشکلی. و میخوام که اگر قراره گوشی دیگری خریداری بشه یه گوشیای باشه که مطمئن باشم مشکلی که در حال حاضر با این گوشی دارم رو نداره و در عین حال مشکل دیگری هم برام پیش نمیاره.
حالا مشکل چیه؟ من راجع بهش یه مقدار تحقیق کردم و به این نتیجه رسیدم که اندروید به طور کلی سیستمش اینطوریه و این مشکل رو ذاتاً داره. حالا ممکنه برای بعضی بیشتر به وجود بیاد و برای بعضی کمتر، اونقدر کم که شاید هیچوقت بهش برنخورده باشند یا بهش دقت نکرده باشند.
در هر سیستم عامل قابل اتکایی هر برنامهای که اجرا میشه میاد در حافظه بار میشه و توسط سیستم عامل اجرا میشه. اگر حافظهٔ سیستم کم باشه و تعداد زیادی برنامه اجرا شده باشه طبیعتاً همهٔ برنامهها هم زمان نمیتونند در حافظه موجود باشند. چون حجمی که مجموع این برنامهها از حافظه اشغال میکنند بیش از کل حافظهٔ موجود هست. بنابراین سیستمهای عامل برنامههایی که فعالیتهای اخیر کمتری داشتهاند رو انتخاب میکنند و بخشی از حافظه که توسط اونها اشغال شده رو به «یک فایل» به نام swap file یا یک partition از هارد دیسک منتقل میکنند تا حافظه برای اجرای [بهتر] برنامههای دیگه آزاد بشه. طبیعتاً اگر کاربر تصمیم بگیره که باز بره کار با اون برنامهها رو ادامه بده سیستم عامل یک برنامهٔ کمتر استفاده شدهٔ دیگه رو انتخاب میکنه و حافظهای که توسط اون اشغال شده رو به swap file منتقل میکنه و حافظهای از برنامهٔ خواسته شده رو که قبلاً به swap file منتقل کرده بود رو دوباره به حافظهٔ اصلی برمیگردونه تا اجرای برنامه بتونه ادامه پیدا کنه. طبیعتاً ترجیح بر اینه که اگر حافظهٔ سیستم کمه برنامههای زیادی هم زمان اجرا نشن که باعث نشه کار به swap کردن بکشه. چون این کار اجرای برنامهها رو به نحو قابل ملاحظهای کند خواهد کرد.
این توضیح swap file بود که شاید خیلی از شما هم با اون آشنا باشید و نحوهٔ اجرای تعداد زیادی برنامه به طور همزمان در سیستمی با حافظهٔ کم. همونطور که گفتم سیستم عاملهای قابل اتکا مثل ویندوز و لینوکس این کارو میکنند. اما مشکل اینجا است که اندروید این کارو نمیکنه. ظاهراً هیچ نسخهای حتی مارشمالو هم این کارو نمیکنه. به جاش وقتی حافظه کم میاره برنامهها رو «میبنده» و اگر طرف بخواد دوباره اون برنامه رو فعال کنه تا کارش رو با اون «ادامه» بده با کمال تعجب میبینه که اون برنامه داره دوباره از اول اجرا میشه. مثلاً pdfی رو دارید میخونید، documentی رو دارید مینویسید، وسط یک بازی هستید که نمیخواهید بسته بشه که اگر بشه تمام کارهایی که کردهاید میپره و زحمتهاتون به باد میره یا هر برنامهٔ دیگری، ممکنه بسته بشه و شما کارهایی که کردهاید رو به راحتی از دست میدید. مثلاً ممکنه وسط انتقال وجه، وقتی که دارید شماره کارت مقصد رو وارد میکنید ممکنه براتون پیغامی بیاد که باید همون موقع بهش جواب بدید، میرید جواب میدید و برمیگردید و میبینید browser دوباره از اول داره اجرا میشه و homepage اینترنت بانک رو میاره. خیلی از مثالها رو میشه زد که هر کسی بسته به نحوهٔ کاربرد گوشیش میتونه مواردی از این مسأله رو تا به حال باهاش مواجه شده باشه.
به همین دلیله که من اندروید رو سیستم عاملی قابل اتکا نمیدونم. تنها رنگ و لعاب یک سیستم عامل رو داره و در واقع در management برنامهها در حافظه قافیه رو باخته.
اگر بخواهید مثال براتون ملموستر بشه فرض کنید تو محیط ویندوز هستید و Alt+Tab میزنید که برگردید سر برنامهای که داشتید باهاش کار میکردید و با کمال تعجب ببینید برنامهتون بیاطلاعتون بسته شده و هر آنچه که تایپ کرده بودید یا در وسط انجام اون بودید هم از دست رفته! :n29: اندروید دقیقاً اینطوریه.
در نسخهٔ مارشمالو یک قابلیت برای جبران این مسأله اضافه شده که شما میتونید تعیین کنید که برنامهٔ خاصی همیشه در حافظه باقی بمونه و بسته نشه! اسم این رو هم مدیریت حافظه نمیشه گذاشت. تنها اتفاقی که افتاده اینه که به جای اینکه سیستم عامل بیاد این کارو انجام بده شما رو هم در انتخاب برنامهها شریک کرده. در حالی که این کار باید بتونه به نحو احسن توسط خود سیستم عامل انجام بشه. در عین حال این انتخاب کاربر نیست که برنامهای اصلاً بسته نشه. اگر لازمه اون بخش از حافظه که توسط اون اشغال شده با swap کردن آزاد بشه، طوری نیست. اما دوباره بتونه در موقع لزوم به حافظهٔ اصلی منتقل بشه.
من شاید وسواس زیادی در درست کار کردن یک گوشی دارم. اما این حقیقت داره. ممکنه شما در گوشیای با ۴ گیگ رم هیچوقت به این مشکل برنخورده باشید. ممکنه بعضی جواب بدن خوب رفتی گوشی زاقارت خریدی. برو یه گوشی با رم بالا بخر. من که فلان گوشی رو دارم هیچوقت به این مشکل برنخوردهام و غیره. اما این از حقیقت ماجرا چیزی کم نمیکنه. حقیقت اینه که نحوهٔ عملکرد اندروید به این گونه است و این احتمال که شما زحمتهاتون رو در یک اپ از دست بدید هیچوقت صفر نیست.
مسألهٔ دیگری که در مورد اندروید واقعاً جای تأسف داره اینه که همه چیز داره در بستر platformی virtual اجرا میشه. هیچ برنامهای در اندروید به زبان ماشین نوشته نمیشه. CPU تنها virtual machine و سرویسهایی که برای اجرای اون لازم هستند رو بالا میاره و بعد از اون تمام اپ ها توسط این virtual machine اجرا میشن. اگر اینطور نیست به من بگین نیست که مطلع بشم. تا اونجایی که تحقیق کردم به این رسیدم. همین باعث کندی بیش از حد اندروید میشه. همین باعث میشه که گوشی آیفون با دو core بتونه performanceی بالاتر از گوشی اندرویدی با هشت core داشته باشه. برای اجرای برنامهها در بستر virtual machine هم نیاز به رم بالاتری هست و هم CPU قویتری. طبیعتاً مصرف باتری بیشتر خواهد بود. پس لازم باتری قویتری مورد استفاده قرار بگیره.
از تمام این حرفها میشه اینطور برداشت کرد که گوگل با ارائهٔ اندروید و سامسونگ و دیگران با ارائهٔ گوشیهای ظاهر فریب بیشتر قصد داشتند در بازار رقابت به خود سهم بیشتری رو اختصاص بدند. در یک کلام business به هر قیمتی. و میبینیم که موفق هم شدهاند. در حالی که این بازار براشون سرمایهٔ هنگفتی رو به ارمغان میاره که به اونها امکان میده حالا بشینند روی نوشتن یک سیستم عامل به درد بخور کار کنند. سیستم عاملی که هنوز ارائه نشده.
از سوی دیگر شرکت اپل همچنان بر طبل خودخواهیها و انحصارطلبیهای خود میکوبه و دوست داره مشتری رو به سمت و سویی که خودش تمایل داره بکشونه، نه این که مشتری حرف اول و آخر رو بزنه و نیازهای مشتری باشه که تعیین کنندهٔ سیاستهای این شرکته.
من تجربهٔ کار با iOS رو نداشتهام. اما تا اونجایی که تحقیق کردم از این دو عیب مبرا است. برنامههایی که برای iPhone نوشته میشه توسط objective C به زبان ماشین تبدیل و توسط خود processor به طور مستقیم اجرا میشه. طبیعتاً سرعت بالاتر و اجرای روانتری خواهد داشت و حافظهٔ کمتری رو اشغال میکنه. مصرف پایینتر باتری هم نتیجهٔ همین هست. در عین حال swap کردن بخشی از قابلیتهای iOS هست. بنا به این دلائل بر خلاف اندروید میشه به iOS به دید یک سیستم عامل نگاه کرد، یک سیستم قابل اتکا.
همچنین تجربهٔ کار با WP رو هم نداشتهام. Windows Phone هرچند از جهاتی مورد توجهه از قبیل اینکه هنگ نمیکنه و غیره، از طرفی دسته گل Microsoftه. Microsoftی که سابقهش رو در ویندوز دیدهایم و بعضاً ستم کشیدهایم. گفته میشه هر applicationی برای WP ارائه نمیشه. من به این وادی حتی از iOS هم ناآشناترم.
حالا با توجه به این صحبتها و تجربیات کارشناسانی چون شما دوست دارم به من راهنمایی بدید. اینها که گفتم روحیات مرا برای شما تا حد زیادی روشن کرد. شما فکر میکنید بر اساس این روحیات انتخاب من چه میتونه باشه؟
ممکنه بپرسید نکتهٔ اول اینه که چقدر میخوای هزینه کنی؟ بله این نکتهٔ مهمیه. اما به نظر من اولین نکته نیست. مهم اینه که اول من به گوشیهای «قابل قبول» برسم و بعد برم از میون اونها اونی که بیشتر با بودجهٔ من تناسب داره رو انتخاب کنم. پس فرض کنید نخواهیم قیمت رو ملاک قرار بدیم. نظر بدید.
محدودیتهای آیفون رو نمیدونم. لطفاً اونها رو لیست کنید.
منتظر پاسخهای دقیقتون هستم.
ممنون