admin
  •  admin
  • Administration Topic Starter
2020-11-19T16:08:38Z
Một nhu cầu không thể thiếu là backup lại toàn bộ source code để giữ lại bản ổn định nhất, sau đó mới vọc vạch và phát triển tiếp các chức năng tiếp theo.
Nếu không backup lại source code ở thời điểm nó đang chạy tốt, thì nếu lỡ làm gì đó gây lỗi mà không thể phục hồi, thì bạn sẽ lại phải dựng lại app từ đầu, và mình nghĩ không ai muốn điều đó xảy ra cả.
Khi bạn tạo và build một ứng dụng với React Native, nó sẽ tải về hàng tá npm module và tạo ra một số file và thư mục khác. Tuy nhiên, không phải file và thư mục nào ta cũng cần phải backup, những file và thư mục không cần phải backup thì ta tạm gọi là "cache".
Cache thường chiếm dung lượng rất lớn so với các thứ mà ta thực sự cần backup, do đó ta cần loại bỏ cache trước khi backup bởi một số lý do như:
  • Nếu chỉ backup bằng phương pháp copy hoặc tạo bản nén và lưu trữ ở local, thì cũng sẽ mất kha khá thời gian để thực hiện copy hoặc zip, và cũng sẽ chiếm nhiều dung lượng ổ cứng.
  • Nếu bạn lưu trữ bản backup trên cloud, thì tiết kiệm dung lượng là điều quan trọng. Do đó không nên đẩy những thứ thừa thãi lên cloud.
  • Nếu bạn là một dev chuyên nghiệp thì không thể thiếu các trình quản lý code như git hoặc Source Tree, SVN,... Các trình quản lý code này sẽ chạy mượt hơn rất nhiều khi bạn ignore cache ra khỏi tầm quản lý của chúng.


Bây giờ mình sẽ liệt kê ra một số cache mà mình nghĩ là không cần thiết giữ lại khi backup. Đồng thời mình cũng đưa ra kết quả với một app của mình để các bạn thấy được hiệu quả của nó nhé.
App của mình ban đầu đang chiếm 2.38GB (đây là còn ít bạn nhé, nó sẽ nở ra nhanh chóng mỗi lần ta cài thêm module).

node_modules
Thư mục node_modules nằm tại thư mục gốc của ứng dụng. Nó chứa toàn bộ các gói thư viện mà bạn nhúng vào ứng dụng.
Xóa nó, mình loại bỏ được 363MB.
Khi cần mình tạo lại bằng lệnh:
npm install

build
Thư mục build nằm trong thư mục gốc > android > app.
Xóa nó, mình loại bỏ được 286MB.
Thư mục này sẽ tự động được tạo lại khi bạn build ứng dụng.

.gradle
Thư mục .gradle nằm trong thư mục gốc > android của ứng dụng.
Xóa nó, mình loại bỏ được 12.35MB.
Thư mục này sẽ tự động được tạo lại khi bạn build ứng dụng.
Lưu ý: khi build lại ứng dụng lần đầu, có thể gặp lỗi, đừng lo lắng, hãy build lại lần nữa là được.

java_pid*.hprof
Các file *.hproft có tên bắt đầu java_pid chiếm nhiều dung lượng. Chúng nằm trong thư mục gốc > android.
Chúng là các logs file được tạo ra bởi máy ảo java. Nếu muốn biết về nó, các bạn có thể hỏi thêm bác google nhé.
Ứng dụng của bạn có thể có thể đã sinh ra tệp này hoặc chưa, có một hoặc có nhiều.
Như ứng dụng của mình mình thấy có 2 file như vậy, xóa chúng mình loại bỏ được 1.06GB.
Xóa nó không ảnh hưởng gì đến ứng dụng của bạn cả, nên không cần suy nghĩ gì thêm nhé.

Đến đây, mình đã tiết kiệm được 1.70GB so với tổng dung lượng 2.38GB ban đầu, tức là giảm được hơn 70% dung lượng bản backup.
Trên đây là 4 cache mà mình đã thử thành công với ứng dụng của mình.
Mình nghĩ còn một số file và thư mục nữa cũng có thể loại bỏ được khỏi backup.
Tuy nhiên với ứng dụng của mình thì ngoài 4 cache trên, chỉ còn lại các file và thư mục với dung lượng không đáng kể.

P/s: Nếu các bạn thấy bài viết có ích, hãy comment và chia sẻ nó tới cộng đồng.
Bài viết còn sơ sài, mong các bạn góp ý để mình hoàn thiện thêm nhé!
Users browsing this topic