This group is specifically for learning computer science and includes programming, mathematics, and all the sciences related to CS. There is also no problem with having some fun?.
#mobile_programming
#flutter
فيه معلومتين حابب أتكلم فيهم معظم الناس مش بتهتم بيهم هما ال
Immutability in strings and string pool in dart
خليني في البداية أقولك إيه ال string pool
String pooling is an optimization technique where the run time keeps a pool of strings.
يعني لما بتيجي تعمل string جديد
The runtime first checks the pool to see if an identical string already exits
يعني لو أنا مثلا عملت كده
string a="hello" ;
string b="hello" ;
في الحالة دي هو مش بيروح يعمل string جديد لا هو بيروح يشوف هل فيه string بنفس الحروف دي لو آه خلاص بيروح يشاور علي نفس اللوكيشن
وبالتالي لو عملت print(identical(a, b))
هتلاقي ال output true عشان آلأتنين بيشاورو علي نفس الاوبجيكت.
========================
تآني حاجة خلينا نعرف يعني إيه strings are immutable
و ده معناه إن مجرد ما ال string حصله create مقدرش أغير ال content بتاعه طب إزاي الكلام ده يعني أنا مقدرش أقول
String s="a"
بعدين ارجع أقول
s=" amir"
لا ينفع بس في الحقيقة إنت مش بتغير ال content بتاع نفس ال object الل بيحصل إنك بتروح تعمل object جديد و بتخلى يشاور عليه
و حتى الناس الل عارفة مش بتاخد بالها إنك ممكن في case معينة ده يأثر علي ال performance بتاعك
علي سبيل المثال لو عندك تعديلات كتير علي ال string زي
String result = "'';
for (var i = 0; i < 10000; i++) {
result += 'a';
}
إنت متخيل إنك في كل مرة بتروح تعمل string جديد و ده بيأثر علي ال performance بتاعك سواء time او memory
عشان كده في الحالة دي ممكن نلجا لل string buffer وده بيبقي mutable عآدى يعني أقدر اغير فيه علي نفس الاوبجت ولما أخلص أروح أعمل toString و ساعتها بس هيcreate new string
علي سبيل المثال
var buffer = StringBuffer();
for (var i = 0; i < 10000; i++) {
buffer.write('a');
}
String finalResult = buffer.toString();
باختصار لو عندك عدد كبير من التعديلات استخدم stringBuffer غير كده استعمل string عآدى
فيه معلومتين حابب أتكلم فيهم معظم الناس مش بتهتم بيهم هما ال
Immutability in strings and string pool in dart
خليني في البداية أقولك إيه ال string pool
String pooling is an optimization technique where the run time keeps a pool of strings.
يعني لما بتيجي تعمل string جديد
The runtime first checks the pool to see if an identical string already exits
يعني لو أنا مثلا عملت كده
string a="hello" ;
string b="hello" ;
في الحالة دي هو مش بيروح يعمل string جديد لا هو بيروح يشوف هل فيه string بنفس الحروف دي لو آه خلاص بيروح يشاور علي نفس اللوكيشن
وبالتالي لو عملت print(identical(a, b))
هتلاقي ال output true عشان آلأتنين بيشاورو علي نفس الاوبجيكت.
========================
تآني حاجة خلينا نعرف يعني إيه strings are immutable
و ده معناه إن مجرد ما ال string حصله create مقدرش أغير ال content بتاعه طب إزاي الكلام ده يعني أنا مقدرش أقول
String s="a"
بعدين ارجع أقول
s=" amir"
لا ينفع بس في الحقيقة إنت مش بتغير ال content بتاع نفس ال object الل بيحصل إنك بتروح تعمل object جديد و بتخلى يشاور عليه
و حتى الناس الل عارفة مش بتاخد بالها إنك ممكن في case معينة ده يأثر علي ال performance بتاعك
علي سبيل المثال لو عندك تعديلات كتير علي ال string زي
String result = "'';
for (var i = 0; i < 10000; i++) {
result += 'a';
}
إنت متخيل إنك في كل مرة بتروح تعمل string جديد و ده بيأثر علي ال performance بتاعك سواء time او memory
عشان كده في الحالة دي ممكن نلجا لل string buffer وده بيبقي mutable عآدى يعني أقدر اغير فيه علي نفس الاوبجت ولما أخلص أروح أعمل toString و ساعتها بس هيcreate new string
Why do you want to complain about this publication?
This is spam
I don't like it
Image of a nude body or of a sexual nature
Hostile statements or symbols
Violence or Dangerous Organizations
False information
Personal data or information
Music
Other
Comment has been successfully reported
The post has been successfully added to your timeline!
You have reached your limit of 100000 friends!
File size error: The file exceeds the allowed limit (9 GB) and can not be uploaded.
Your video is being processed, We’ll let you know when it's ready to view.
It's impossible to upload the file: This file type is not supported.
We have detected adult content on the uploaded image, therefore we have declined the uploading process.
Your post was submitted, we will review your content soon.
Change the Offer
Account Verification
To get a verification (tick) on the Islamic social network Umma Life, you must meet at least one of the following criteria: 1. Social network activity: Participants seeking verification must be active users of the social network. At least one useful message must be posted per day, and the message topics can be non-religious. 2. A well-known Islamic blogger or Muslim: If you are a well-known Islamic blogger or Muslim, even if your activities are not related to religious topics on the Internet, you can also apply for verification. 3. A large number of subscribers or active religious pages: If you have a lot of subscribers on social networks or you actively manage useful religious pages, this can also be a basis for getting verified. If you meet at least one of these criteria, submit an application for verification on the Islamic social network Umma Life via private message https://ummalife.com/ummalife and your account will be reviewed by the social network administration.