Tăng thêm bộ nhớ cho iPad

Thảo luận trong 'Thay đổi - Nâng cấp firmware' bắt đầu bởi BahamutSpirit, 5/5/10.

  1. BahamutSpirit Thành viên

    Lưu ý: không nên dùng bộ nhớ ảo cùng lúc với backgrounder, nếu có dùng thì phải nhớ tắt app đã background, không thì sẽ bị crash app hoặc nặng hơn là đứng máy.

    Apple cố tình tắt chức năng bộ nhớ ảo của iOS vì họ sợ người sử dụng sẽ bị chiếm mất phần dung lượng hơi bị "hạn hẹp" trên chiếc máy tính bảng yêu thích (nhiều lúc bộ nhớ ảo có thể đẩy lên hơn 1GB). Nhưng mà RAM thì họ lại không cho vào nhiều lắm, và số RAM ít ỏi đó còn bị chia bớt cho khung xử lý đồ hoạ (graphics framework) nữa.

    Trên iPad 2 trở lên thì không sao, nhưng mà chiếc iPad 1 với 256MB RAM chạy iOS 5 khá vất vả. Em xin chia sẻ cách thức khởi động chức năng này để các anh có thể chạy thêm nhiều ứng dụng trên chiếc máy tính bảng yêu quý.

    Xin lưu ý cho là hệ thống bộ nhớ ảo không có sự hỗ trợ chính thức từ Apple nên các anh có sử dụng mà bị vấn đề thì nên tháo ra ngay. Cách gỡ bỏ em có ghi ở dưới cùng đấy.

    iPad cần phải được jailbreak và đã cài iFile thì mới làm được nhe.

    Vào iFile, tìm thư mục "/System/Library/LaunchDaemons/"
    Tạo 1 file mới, lấy tên là "com.apple.dynamic_pager.plist", đặt owner là root và group là wheel, các tùy chọn khác không cần chỉnh sửa.
    Sau khi đã tạo file hoàn tất, mở file bằng text editor của iFile và copy nội dung này vào:

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
      <key>Label</key>
      <string>com.apple.dynamic_pager</string>
      <key>KeepAlive</key>
      <true/>
      <key>OnDemand</key>
      <true/>
      <key>RunAtLoad</key>
      <true/>
      <key>ProgramArguments</key>
      <array>
        <string>/sbin/dynamic_pager</string>
        <string>-F</string>
        <string>/private/var/vm/swapfile</string>
      </array>
    </dict>
    </plist>
    
    Sau đó save lại, tiếp tục dùng iFile truy cập vào thư mục "/Library/Preferences/" hoặc "/private/var/preferences" rồi tạo 1 file mới với tên "com.apple.virtualMemory.plist" với các thông số khác tương tự như trên, sau đó copy và paste nội dung này vào:

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>UseEncryptedSwap</key>
        <false/>
    </dict>
    </plist>
    
    Save lại tiếp.

    Lưu ý: dùng iOS 5 thì bước tiếp theo rất quan trọng! Nếu bỏ qua sẽ bị đứng máy khi khởi động và chỉ có nước restore thì mới cứu vãn được thôi!

    Trong iFile chọn thư mục "/private/var/vm" rồi đổi các thông số "Access Permissions" của thư mục đó như sau:
    User: Read, Write, Execute
    Group: Read, Write, Execute
    World: Read, Write, Execute

    Khi nào không dùng nữa thì cách gỡ như sau (vui lòng làm theo từng bước):

    1) Delete 2 file ".plist" đã nêu trên
    2) Restart máy
    3) Delete tất cả các file trong thư mục "/private/var/vm".
    4) Restart máy
    Yang.zeze, binhsme, kieuqtoan29 người khác thích nội dung này.
  2. tungxd Thành viên

    bác ơi nói rõ hơn đi ạ..cơ chế hoạt động thế nào ạ..chậm trong trường hợp nào..em đang rất quan tâm vụ tăng ram này vì thấy 256MB thực sự hèo quá..thks bác
  3. BahamutSpirit Thành viên

    Đơn giản là nó tạo 1 file ảo trên ổ cứng của iPad. Khi 256MB xài hết rồi thì nó sẽ ghi những phần RAM ít dùng vào file đó va giải phóng thêm RAM cho các tác vụ đang chạy. Khi đang ghi như vậy thì có thể làm chậm máy (lag). Tương tự, khi mà cần dùng đến những phần RAM đã được ghi vào trong file thì nó sẽ ghi những phần ít dùng vào file và đọc những phần cần dùng từ file ra RAM, bước này cũng có thể làm chậm máy.

    Trên thực tế thì mỗi lần nó chạy chậm như vậy là lúc đang bật chương trình khác nên khi đang chạy ứng dụng thì ít bị chậm trừ phi ứng dụng... trâu quá. Cho nên là người sử dụng sẽ ít chú ý đến vấn đề này.

    Apple cố tình không sử dụng chức năng này để đợi cho đến khi OS 4 ra mắt thì mới công khai sử dụng để chạy đa tác vụ, hiện thời thì chỉ có chạy 1 chương trình ở 1 lúc nên chức năng này cũng không cần thiết lắm. Đây là 1 chức năng cơ bản không thể thiếu của Mac OS vì nó giúp cho máy ổn định hơn, nhưng vì lý do nêu trên mà bây h mới phải ngồi unlock nó. Khi chức năng này được bật lên thì các app gốc của Apple sẽ chạy theo đúng cách mà nó đã được viết để vận hành chứ không cần phải kỳ kèo RAM với chương trình của bên thứ 3 nữa.
    trizniker, 226, Alaka9 người khác thích nội dung này.
  4. tungxd Thành viên

    wow..hóa ra đây là cách mà apple làm multitask cho OS4.0..thks bác vì đã giải thích rất cặn kẽ và dễ hiểu cho e

    ---------- Post added at 12:06 AM ---------- Previous post was at 12:04 AM ----------

    bác ơi còn thời lượng pin thì sao ạ...có ảnh hưởng gì nhiều không
  5. BahamutSpirit Thành viên

    Thời lượng pin không thấy thay đổi gì nhiều lắm. Vẫn cứ khoảng 5 hay 6 phút thì tốn 1% thôi.

    Còn nếu nói rằng cái này là nguyên cách OS 4 chạy multitask cũng không hẳn. OS 4 giới thiệu thêm 1 vài thư viện động cho phép lập trình viên viết app có khả năng thu gọn app lại, chỉ chạy 1 phần nào đó khi không dử dụng. Nghĩa là ngoài cách dùng page file để lưu RAM cho nguyên cả 1 tác vụ, thì 1 app bây giờ chia làm nhiều tác vụ nhỏ. Cái nào cần sử dụng vẫn sẽ được truy xuất RAM. Phần nào không dùng nữa thì ghi vào page file. Với cách làm này thì tài nguyên sẽ được tiết kiệm tối đa, vì từ trước giờ multitask trên các hệ điều hành khác tương đồng với việc nguyên cả cái tác vụ gốc vẫn vận hành, điều này dẫn đến tiêu xa tài nguyên quá mức cần thiết và làm cho cả bộ máy chậm hẳn đi.

    Cũng may mắn là Apple đã hoàn chỉnh phần nào chức năng này cho hệ điều hành iPhone, và người sử dụng sẽ chỉ cần bật nó lên và chạy thôi chứ không vấp phải lỗi này lỗi nọ. Chức năng này đã có bộ cài cho iPhone và iPod Touch trên Cydia, nhưng việc sử dụng nó cũng không cần thiết lắm vì đa số app của iPhone và iPod Touch đều được tối ưu cho 128MB RAM. Nhưng đối với iPad thì đây là chức năng khá cần thiết vì 1 số app của iPad được viết kèm với những hiệu chỉnh dành cho máy có hơn mức 256MB RAM, do ngay cả lập trình viên cũng không nghĩ đến việc iPad chỉ có 256MB RAM. Kết quả là nhiều app chạy chậm đến mức khó chịu, và đa phần app đều bị crash, văng,... Hiện giờ vẫn còn phải chỉnh lại.

    Nói đơn giản là dù chức năng này được tạo ra với mục đích hỗ trợ multitask, tớ khuyến cáo anh em là nên dùng nó cho ngay cả lúc mình không multitask để tránh trường hợp bị crash máy. Ai xài iPad nhiều chắc là đã bị lỗi đó rồi. Thêm một lỗi thông dụng nữa là Safari tự reload lại những tab đã mở trước. Thiết nghĩ... nếu đã thế rồi thì thà lướt 1 trang cho xong, khỏi phải mở tab, phải không các bác?
    thiennh2, leoaudio13, chikchipoppo12 người khác thích nội dung này.
  6. ESS-VN Thành viên

    chính vì vậy, iPad ra xong, vài tháng sau multitask ra - để bà con còn chạy đựoc apps chuẩn chứ, :D :D thanks bác chủ topic ! 30 chart....!
  7. BahamutSpirit Thành viên

    Không có gì. Nếu muốn kiểm tra xem page file có chạy hay không thì dùng iFile truy cập thử vào thư mục /private/var/vm/ rồi xem thử coi có các file swapfile0, swapfile1, vân vân, hay không. Nếu có thì page file đang chạy chuẩn. Nếu thấy quá nhiều thì có nghĩa là có quá nhiều tác vụ đang chạy hiện thời và RAM đang tốn kinh khủng khiếp, lúc đấy thì nên xem lại app nào đang chạy hoặc app nào không để tránh tình trạng làm nặng máy quá mức cần thiết.

    À, với lại tên file ở bài thứ nhất tớ ghi lộn là vitualMemory, ai đã dùng thử mà không thấy xi nhê gì thì chỉnh lại thành virtualMemory nhe.
  8. thedeath_no13 Thành viên

    Theo mình đọc những gì bạn ghi thì
    1. Cái này không hề nâng bộ nhớ cho Ram chuơng trình sẽ vẫn crash nếu vượt quá 256Mb. Nó chỉ lưu lại Ram để có thể sử dụng sau như bạn nói về safari

    2. Cái file của bạn nếu mình hiểu đúng nó sẽ khiến cho máy liên tục read và write cho bộ nhớ flash. Mà ai cũng biết tất cả NAND flash đều có số lần ghi đọc giới hạn sử dụng virtual memory như trên sẽ khiến cho vòng đời này rút ngắn và gây hại cho máy.

    Cái này cực kỳ hại máy nên nếu ai thật sự hiểu và chấp nhận hãy dùng
  9. BahamutSpirit Thành viên

    Chương trình sẽ crash nếu nó đòi quá 256MB cùng 1 lúc. Nhưng đó là về lý thuyết. Trên thực tế thì đa số chương trình đòi memory theo block, nghĩa là nếu nó đã dùng hết phần RAM hiện thời, nó sẽ gửi tín hiệu hỏi kernel cho nó xin thêm 32MB. Khi đó thì kernel hoàn toàn có thể lưu phần RAM cũ mà chương trình đó chưa cần sử dụng vào page file.

    Sử dụng page file không hề làm hại máy như thiên hạ đồn thổi. Lý do là vì:
    - Chỉ trong trường hợp bất khả kháng thì máy mới liên tục read và write vào flash. Thường thì máy chỉ ghi 1 file vào flash, rồi đợi cho đến khi hết RAM tiếp rồi mới ghi tiếp. Và máy sẽ chỉ ghi hoặc đọc từ flash khi mà RAM không đủ để chứa 2 tác vụ đang chạy hiện hành, nhưng mà về thực tế thì điều đó ít khi xảy ra trừ phi người dùng chạy 2 ứng dụng cực kỳ nặng RAM cùng 1 lúc. Khi đó thì tốc độ xử lý của mày cũng sẽ rất chậm, cho nên khả năng người dùng tiếp tục sử dụng máy trong môi trường đó cũng rất ít.
    - Như đã nêu trên, nếu đúng thực là máy liên tục đọc và ghi vào flash thì tốc độ xử lý sẽ rất chậm. Bởi vì tốc độ đọc và ghi của flash không bao giờ đuổi kịp tốc độ xử lý của RAM... Mỗi lần truy xuất dữ liệu là phải đợi đọc rồi ghi vào flash, rất mất thời gian. Cả hệ thống sẽ trì xuống và kết quả là có khi nó sẽ đứng máy luôn chứ không có tiếp tục đọc và ghi liên tục như vậy đâu.
    - Điểm cuối cùng mà phía người dùng không hề biết đó là flash memory không dễ die chút nào. Những bộ điều khiển flash gần đây có tích hợp tính năng "dàn trải" (wear levelling), với mục đích dàn đều việc ghi và xóa cho tất cả các block bên trong phần cứng để tránh trường hợp một block nào đó bị tập trung ghi và xóa quá mức cần thiết. Với phương cách này thì về lý thuyết, nếu trong điều kiện hoàn hảo thì nếu có 2 block flash, cả ổ sẽ chịu được nhiều mức ghi và xóa hơn gấp đôi. Nếu có 3 block flash thì gấp 3, vân vân. Tuy nhiên wear levelling sẽ ảnh hưởng mạnh đến tốc độ truy xuất vì mỗi lần máy cần ghi hay xóa block là bộ điều khiển phải đi tìm block khác cho nó ghi. Hơi bị tốn thời gian, và kết quả là nhiều ổ flash dành cho người tiêu dùng (consumer level) không có tốc độ truy xuất cao hơn các ổ cứng thông dụng là mấy. Nhưng bù lại những ổ này chống sốc khá tốt.
    - Nếu nói đúng nghĩa thì đối với người dùng thông thường, việc sử dụng chức năng này cũng giống như là nghe 1 hay 2 album nhạc trong 1 ngày vậy. Khi nghe nhạc thì cũng cần đọc dữ liệu từ máy liên tục, hoặc thậm chí là lúc xem phim thì còn đọc hàng GB dữ liệu cơ mà?

    Nói tóm lại là chức năng này cực kỳ an toàn. Ngay cả N900 còn dùng nó để chạy đa tác vụ. Sao không nghe ai phàn nàn về N900 mà cứ nhắc đến iPad hay iPod/iPhone là dân tình cứ la oang oang lên là thiết bị không tồn tại được lâu ấy nhỉ...? Nếu chức năng này thật sự hại máy thì Apple đã không để nó lại. Và nói đâu xa, có khi OS 4 sẽ phải sử dụng nó để chạy đa tác vụ nữa mà.
    lethanhvinh016, kieuqtoan, vdemon.me12 người khác thích nội dung này.
  10. tungxd Thành viên

    Bác ơi nhưng em làm giống bác nói rồi mà vào var/vm vẫn thấy trống trơn à...k biết nó đã đc chưa..hic
  11. thedeath_no13 Thành viên

    Theo mình hiểu thì OS 4.0 không sử dụng phuơng pháp này. Phuơng thức multitask của OS 4.0 là tuơng tự với Android phone chỉ khác về chuyện giới hạn 7 chức năng chạy ngầm thay vì không giới hạn như Android.

    Còn về virtual Ram thì mình đang xài cái này trên iPod touch và rõ ràng nếu mà tăng số lượng đọc ghi lên thì đồng nghĩa với chuyện giảm tuổi thọ máy.

    Còn vấn đề nữa là nếu muốn xem nhiều trang Safari chỉ cần cài more tabs thôi mà trong cydia ấy
  12. thedeath_no13 Thành viên

    Theo mình hiểu thì OS 4.0 không sử dụng phuơng pháp này. Phuơng thức multitask của OS 4.0 là tuơng tự với Android phone chỉ khác về chuyện giới hạn 7 chức năng chạy ngầm thay vì không giới hạn như Android.

    Còn về virtual Ram thì mình đang xài cái này trên iPod touch và rõ ràng nếu mà tăng số lượng đọc ghi lên thì đồng nghĩa với chuyện giảm tuổi thọ máy.

    Còn vấn đề nữa là nếu muốn xem nhiều trang Safari chỉ cần cài more tabs thôi mà trong cydia ấy
  13. BahamutSpirit Thành viên

    Cách thức hoạt động của Android cũng đồng nghĩa với virtual memory chứ không xa vời đâu.

    Khi Android muốn có thêm RAM, nó sẽ hỏi các app xem là chúng có cần lưu thông số gì lại hay không. Nếu app không hỗ trợ multitask thì cả cái app sẽ bị đóng lại, kỳ sau tính tiếp. Nếu app có hỗ trợ multitask thì nó sẽ tự lưu lại một hay nhiều file chứa dữ liệu. Khi chạy app lại thì phải load hết từ đầu, sau đó mới tiến hành load các file kia. Nhưng có cái bất tiện ở chỗ là phương thức này chỉ hỗ trợ app chứ không hỗ trợ tác vụ. Các tác vụ quan trọng vẫn cứ nằm ỳ trong RAM suốt quá trình điều hành, cho dù chúng không cần phải làm gì. Cái bất tiện nữa là phải load hết cả app lại. Kết quả là mức độ truy xuất ổ cứng có khi còn nhiều hơn virtual memory, nhưng mà bù lại thì cách này là tiết kiệm dung lượng ổ cứng nhất. 1 số thiết bị chạy android không có nhiều dung lượng ổ flash nên đây là cách xử lý hợp lý nhất trong trường hợp đấy.

    Đối với phương thức vỉtual memory thì bất kể là app hay tác vụ đều được ghi lại vào page file cả. Chỉ khi nào người dùng sử dụng đến những app này thì mới bung ngược lại vào RAM. Với cách này thì số lần đọc dữ liệu trên ổ flash cũng tương đồng với số lần đọc app thôi. Không phải "hao" như mọi người lầm tưởng, bởi vì những phân vùng này không được truy xuất trong suốt quá trình nó nằm trên ổ cứng.

    Nếu ai có từng chơi game giả lập chắc sẽ biết. Phương thức chạy vỉtual memory này y chang như cách dùng save state trong giả lập thôi, không có gì khác cả. Nó không phải là cách "biến" ổ cứng thành RAM. Nó chỉ là cách save state RAM lại để free RAM mà load cái khác vào thôi.

    Lên tới OS 4 thì Apple đưa cách ứng dụng virtual memory lên một tầm cao mới. Thay vì là phải save state nguyên cả 1 app thì chỉ cần save state từng phần riêng biệt của app đó thôi. Những phần nào còn cần chạy (cái này là do lập trình viên quyết định), sẽ vẫn nằm trong RAM. Nhưng mà phải giới hạn 7 app là vì dynamic pager chỉ nên để xử lý 7 file cùng 1 lúc thôi. Nhiều hơn có thể làm trì máy và còn ngốn ổ cứng nữa. Còn về phần người dùng thì dù là Apple giới hạn 7 app, nhưng mà đâu có cấm 7 app đó là 7 game ngốn RAM nhất trên iPhone đâu. Thiết nghĩ mỗi game chỉ cần chiếm 60MB là 5 game thôi đã thấy không còn đủ RAM để xử lý tiếp rồi. Đến lúc đó nếu không phải dùng virtual memory thì phải dùng tới cái gì nữa đây?

    Cuối cùng là như đã nêu, cò tồn tại công nghệ tên là wear levelling dành cho ổ flash. Chức năng này giúp cho ổ flash không phải chịu "tra tấn" khi vận hành. Ai cũng nghĩ là ổ flash sẽ die sau khi bị ghi/xóa 100,000 lần, nhưng mà thực tế không phải vậy. 100,000 lần là số lần ghi xóa mà 1 block chịu được. Trong ổ flash sẽ có nhiều block. Khi sử dụng wear levelling thì bộ điều khiển của ổ flash sẽ ra tay... thay thế các block đó để tránh tình trạng 1 block bị ghi quá nhiều lần. Nói đơn giản là... mỗi lần ghi dữ liệu vào ổ flash, nếu bộ đièu khiển phát hiện ra rằng block đang chuẩn bị cho việc ghi dữ liệu đã bị ghi gần đây rồi thì nó sẽ gạt block đó sang một bên, và lấy block khác ra thay vào, sau đó dổi địa chỉ của cả 2. Kết quả là người sử dụng bình thường không bao giờ có thể giảm tuổi thọ thiết bị được bất kể là họ làm gì. Chỉ có những ứng dụng máy chủ luôn phải tận dụng tối đa dung lượng ổ cứng mới có khả năng giảm tuổi thọ thiết bị thôi. Trên thực tế thì ổ flash nếu mà dung lượng càng cao thì càng thọ... Vì nó càng nhiều block thì nó càng khó chết.

    Để tớ dàn toán ra cho bác dễ hiểu tại sao tớ nói là cái này không giảm tuổi thọ máy nhé.

    1 block của nand flash hiện thời cao nhất là 512KB (cái nào mà đặc đặc chút thì 32KB, trung bình là xài block 64KB). Nghĩa là cái iPod Touch 8GB sẽ có ít nhất là 16 block. Mỗi block chịu được 100,000 lần ghi xóa nên tổng cả ổ sẽ là 1,600,000 lần. Khi bác dùng vỉtual memory thì cứ trung bình 1 tiếng đồng hồ là bác mở và thoát app 60 lần đi, thì có nghĩa là sau 1h đồng hồ thì đã ghi xóa 60 lần. Nếu làm liên tục như vậy không ngừng nghỉ thì sau 1 ngày trời đã tốn 1440 lần ghi xóa. Và nếu mà làm đi làm lại như vậy liên tục trong 1 năm trời không ngừng nghỉ, không làm gì khác ngoài việc dùng cái iPod Touch cứ chuyển đổi trung bình 1 phút 1 app như vậy thì bác sẽ đến được mức 525600 lần ghi xóa. Đến lúc này thì bác còn ghi được hơn 1,000,000 lần nữa cơ.

    Nhà sản xuất các thiết bị flash đã tính đến nhu cầu sử dụng của người mua và lường trước mọi chuyện rồi. Khi làm hay nói gì thì nên nghiên cứu lại cho kỹ chứ nếu không tớ thấy bác dùng chức năng này cho con iTouch mà không hiểu rõ về nó lắm. Thế thì nguy lắm bác ạ. May mà lần này nó không có gì nguy hiểm đấy, chứ trước khi công nghệ wear levelling ra đời thì tuổi thọ ổ flash chỉ trên dưới 1 năm thôi. Lúc đấy thì những gì bác đã nói đều đúng cả, nhưng mà cái công nghệ đó đã ra đời từ lâu rồi.

    Còn nếu bác muốn tham khảo thêm về các hiệu số đã nêu trên thì tớ có link của Wiki đây.

    Bác nào chưa kích hoạt virtual memory được thì xin đọc kỹ lại bài đầu a. Tớ mới chỉnh lại một vài sai sót đấy.
    Kaka0, kieuqtoan, taytay9 người khác thích nội dung này.
  14. thedeath_no13 Thành viên

    Ok bây giờ thì mình hiểu rồi, nó là virtual memory chứ không hẳn là virtual RAM.

    Còn về multitask trên Android ngay khi bác rời khỏi app nó sẽ tự hỏi các app để save lại state cuối của mình ngay. Và vẫn tiếp tục để các app này chạy background cho tới khi máy cần Ram. Về chuyện app Android được chạy ngầm những gì thì có 2 thứ 1 là thay đổi trạng thái máy(và app chỉ chạy lại khi nhận được trạng thái thay đổi để tiết kiệm Ram). Còn hai là về những app như nghe nhạc hay navigation đòi hỏi vẫn tiếp tục được chạy ngay cả khi đã rời màn hình.

    Còn iPhone OS 4.0 hoàn toàn tuơng tự khác ở chỗ 7 khả năng app được chạy ngầm là:

    Background audio -- tiếp tục chơi nhạc khi đã thoát máy cho những phần mềm nhạc

    VOIP -- cho những app như Skype hay IM+ tiếp tục được online sau khi đã thoát

    Background Location -- cho những app navigation tiếp tục hoạt động

    Push notification -- như mail

    Task finishing

    Fast App swithching

    Mình chỉ muốn hỏi với kiểu sử dụng multitask như thế này thì có ngốn tài nguyên gì đâu mà phải sử dụng virtual memory nhỉ. Và ý bạn đây lên tầm cao là sao....
  15. BahamutSpirit Thành viên

    Đúng là về mặt người dùng thì Android làm như vậy, nhưng về phần cốt lõi bên trong thì nó vẫn là hoặc là save state cả app, hoặc là cho app chọn những gì cần save state, sau đó thì vẫn phải load app lại từ đầu cho những app save state có chọn lọc. Những app còn chạy ngầm là nguyên cả app vẫn chạy ngầm, hoặc tùy vào lập trình viên viết app, nnhuwng mà như vậy nghĩa là tài nguyên phân bố không đồng đều, mạnh ai nấy làm.

    iPhone OS 4 khác ở chỗ là khi nó background những app đã nêu trên thì sẽ có 1 tác vụ riêng của hệ thống được kích hoạt để chạy phần mà app cần chạy, còn bản thân app thì vẫn đã được save state đàng hoàng trong vỉtual memory. Nói nôm na là 7 khả năng đó là 7 tác vụ (service) mới của iPhone OS 4 chứ không phải là 1 phần của app đang chạy. Trong số 7 cái đó thì audio, location và push notification đã tồn tại lâu rồi, chỉ đến hôm nay mới được trình làng cho lập trình viên sử dụng. Còn cái fast app switch là khả năng lưu lại trong RAM lượng dữ liệu tối cần thiết, còn phần còn lại sẽ save state hết. Khi nào cần thì bung ra lại ngay lập tức, và cách này sẽ bung nhanh hơn mà ít tốn hơn là phải save state và bung nguyên cả app.

    Với kiểu sử dụng tài nguyên như vậy thì không chỉ dung lượng của page file sẽ giảm thiểu, mà ngay bản thân hệ thống cũng sẽ chạy nhanh hơn là cách làm thông thường của các hệ điều hành multitask khác. Đó là lý do tại sao tớ nói Apple đã nâng multitask và page file lên 1 tầm cao mới.

    Còn lý do mà phải dùng tới page file thì đơn giản lắm. Safari cho iPad ngốn trung bình 60MB, 1 game nhẹ ngốn trung bình 128MB, hệ thống ngốn 25MB, nghe nhạc ngốn 10MB, đến lúc đấy thì máy chỉ còn có khoảng 33MB. Chạy thêm 1 app gì nữa là hết xăng. Tính ra mới có 4 app mà đã hết RAM rồi thì làm sao multitask thêm app đây? Chẳng hạn như bật Skype chờ điện thoại, hay là bật trình chat chờ IM... vân vân...

    RAM có vẻ như quá dư dả cho iPod và iPhone, nhưng tiếc thay, iPad quá thiếu RAM. Thậm chí là chưa multitask cũng đã cần page file để chạy ổn định hơn rồi. Nhiều game ngốn quá nhiều RAM. 256MB không đủ... Ngay cả Safari cũng khó mà load hơn 2 tab 1 lúc. Nhưng mà khuyến cáo là sau khi dùng vỉtual memory thì không nên mở quá 3 tab trong Safari, không thì hoặc là chậm, hoặc là đứng máy do Safari không quản lý tài nguyên nữa khi vỉtual memory được bật lên. Đay là con dao 2 lưỡi khá nguy hiểm nên mọi người nên chú ý...
    kieuqtoan, lovefree0511, nhutung2 người khác thích nội dung này.
  16. vhvbpt Thành viên

    Thac mac

    May ban cho minh hoi sao minh dung sbsettings thi chi thay cai memory cua ipad minh chi mã khoang 150mb thui?vay la sao nhi.
    Minh pót tren ipad nen ko co dau,sry.
  17. BahamutSpirit Thành viên

    Trên iPad vẫn đánh bỏ dấu được mà. Dùng bộ gõ Telex hay VNI đều được vì diễn đàn tinhte có tích hợp bộ gõ.
    còn về phần SBSettings thì có khá nhiều chương trình không xác nhận được dung lượng RAM chính xác của iPad chứ không riêng gì SBSettings. Ai cũng biết là iPad có 256MB RAM nhưng mà trong máy không có mục cho phép đọc thông số tổng số RAM.
    nhutungdaithanhthai thích nội dung này.
  18. badkid Thành viên

    Thanks bạn, đây quả thật là một bài viết rất hữu ích, trước đây mình cũng thường bị crash khi chạy những app đòi hỏi nhiều ram (We Rule hoặc Keynote), bây giờ thì không còn gặp những tình huống đó nữa.
    Tuy nhiên, cách bạn chỉ cũng có vấn đề mình gặp là khi dùng Safari, lâu lâu lại xuất hiện hộp thoại Connecting, sau đó thì phải chờ khoảng hơn 10 giây thì Safari mới có thể hoạt động lại được bình thường, tình trạng này xảy ra liên tục, chạy các app khác thì không có tình trạng này. Không biết có ai gặp tình huống như mình chưa nhỉ?
    Có cách nào khắc phục không bạn? hoặc ít nhất cũng giảm thiểu thời gian Connecting như hiện nay
  19. BahamutSpirit Thành viên

    Connecting là do lỗi Wifi gây ra, không có liên quan tới memory.
    daithanhthai thích nội dung này.
  20. buihai Thành viên

    Hại máy hay không thì chưa rõ, nhưng cảm giác thì hình như cài cái này vào mau hết pin hơn 1 chút thì phải.

Chia sẻ trang này