!مدتی بود در محل کارم دچار چالشی در محصولمون شده بودیم، استفاده ی بیش از حد از رم اما دقیقا نمیشد که تشخیص بدیم که این مشکل از کجا داره اذیتمون میکنه یعنی واضح تر بگم کدوم قسمت از کد رو خراب کردیم که همچین بلایی داره سرمون میاد
چند وقت قبلش کلی تلاش کردیم برای این موضوع سناریو های مختلفی رو هم برای ایجاد این مشکل حدس میزدیم مثلا میگفتیم وقتی کاربر روی دکمه بازگشت کلیک میکنه استفاده از RAM زیاد میشه و به زعم خودمون مشکل رو پیدا کرده بودیم و با چند تا بهبود فکر میکردیم که دیگه همه چیز بهبود پیدا کرد این کار بار ها و بار ها تکرار شد ولی هر بار بعد از مدتی میفهمیدیم که مشکل هنوز پابرجاست و شاید حتی بدتر هم شده باشه یا اگر بهبودی هم بوده اون چیزی نبوده که ما می خواستیم این سری که رفتیم حلش بکنیم گفتیم تا داده ی صد در صد واقعی و درست نداشته باشیم چیزی رو عوض نمیکنیم و دست به کدمون نمیزنیم در حقیقت میخواستیم این سری تا مطمین نشدیم که کجا خرابه دست به کار نشیم اما سوال اصلی اینجاست :
چجوری ؟ چجوری بفهمیم که چه داده ای رو توی رم ذخیره کردیم
وقتی این تصمیم گرفته شد که داده ی درست و منطقی پیدا کنیم شروع کردم به جستجو کردن و هر چیزی که میگشتم اونی نبود که من میخواستم و اغلب به این میرسیدم که این امر امکان پذیر نیست و ناامید میشدیم تا این که به یک مقاله در سایت گوگل برخورد کردم که میگفت ما در آپدیت جدیدمون توی مرورگر کروم این قابلیت رو فراهم کردیم که بتونید اطلاعات ذخیره شده در RAM رو مشاهده کنید اولش فکر کردم شاید همون دسته بندی اطلاعاتی که از قبل میگفت در نسخه های قبلی کروم گزارشی بهت میداد که فقط میگفت چقدر از حجم حافظه رو آرایه ها و چقدر رو متن ها و ...... ذخیره کردن ولی نمیگفت که و نمیشد فهمید که دقیقا چه اطلاعاتی درون آرایه های من هستند یا چه متن هایی رو من در حافظه ام ذخیره کردم
با این که کاملا نا امید بودم اما بعد که تست کردم کاملا شگفت زده شدم و از خوشحالی نمیدونستم چیکار کنم و فقط میگفتم ممنون آقای گوگل .
حالا میخوام با هم این قابلیت رو مشاهده کنیم در ادامه کار به عنوان مثال نشون میدم که وقتی وارد وب سایت ویرگول میشیم چه اطلاعاتی درون حافظه ما ذخیره میشه
بعد از این که وارد وب سایت ویرگول شدید با زدن کلید F12 ابزار توسعه دهنده یا Developer tools مرورگر کروم براتون باز میشه
یکی از تب هایی که قابل مشاهده است گزینه ی Memory است که با انتخاب این گزینه ما به صفحه ای همانند عکس پایین می رویم
این قسمت اطلاعاتی در باره حافظه RAM به توسعه دهنده می دهد با انتخاب گزینه TAKE SNAPSHOT یک کپی (رو نوشت) دسته بندی شدی از اطلاعات حافظه RAM به کاربر نشان داده می شود که در نگاه اول هر کدام از دسته بندی ها به صورت درصدی نشان داده می شوند مثلا در تصویر ذیل مشاهده می کنید که این اطلاعات شامل آرایه ها ، اطلاعات سیستم ، رشته ها و ...... است
حالا شما خیلی راحت میتونید یکی از گزینه ها رو انتخاب کنید و برین تو دلش و ببینید چه آرایه هایی و با چه مقادیری دارن ذخیره میشن یا چه رشته های متنی (String) هایی رو داریم توی حافظه امون نگه میداریم
امیدوارم این مطلب برای شما مفید بوده باشه و بتونه کمکتون بکنه
پ . ن : این اولین مطلب من در ویرگول بود لطفا با نظراتتون منو همراهی کنید و کمک کنین بتونم مطالب بهتری رو منتشر کنم