2010-01-16 24 views
8

do đó, cô đã từ chối câu chuyện của tôi, Apple đã từ chối ứng dụng của tôi, nói rằng nó bị rơi trên điện thoại của họ (iPhone 3G và ipod touch 2g) và gửi cho tôi hai bản ghi lỗi. NEITHER mà tôi có thể hiểu được.Apple từ chối tôi, không biết tại sao, hoặc cách sửa chữa nó

Đây rồi.

Incident Identifier: BA4382DD-DA6A-47F7-800D-43AD30919064 
CrashReporter Key: 53e41ca2a52f91affddc86f49ce9c4be851fcfd6 
OS Version:   iPhone OS 3.1.2 (7D11) 
Date:    2010-01-14 15:59:57 -0800 

Free pages:  317 
Wired pages:  11274 
Purgeable pages: 0 
Largest process: iConicCars 

Processes 
     Name     UUID     Count resident pages 
     amfid <b4f3e5a61456edf85b6ada59064ec311>  93 
    iConicCars <851d264eb074e465891dcd67b67a8e79> 5928 (jettisoned) (active) 
    MobileMail <0798395dde43ca46317db6e674dfbbfd>  503 (jettisoned) 
MobilePhone <82c9bd8583f4b09706a16b08e641a4b9>  464 (jettisoned) 
    notifyd <d6b12a4e424e10e5ce91efd8d39f22af>  77 
    BTServer <c940c4c7252113a7303cc1f7d1429c17>  253 
    CommCenter <b1d6c4fe3ce2bc0374471196ab15b8d4>  313 
SpringBoard <c5c29b56a2bb445fc73203e03f67fa78> 1954 (active) 
    accessoryd <32ceed5c3c32625ac23cd870f61364af>  107 
    configd <aae411e8289912124271f109ceee8f85>  290 
    fairplayd <cdce5393153c3d69d23c05de1d492bd4>  156 
    mDNSResponder <db98efaea94329959789f73a16f9f46e>  123 
mediaserverd <612fbbfa0546609cf6c6b13ae6f333cf>  767 (jettisoned) 
    lockdownd <171865bfe3725c3d5047df8c00ed5d77>  294 
    syslogd <1cb3e9f2375fad9e345bd16655be4a50>  66 (jettisoned) 
    launchd <c5bc115d47313218505394f96770782a>  76 

**End** 

Incident Identifier: 8E52889B-0260-4AAD-A39C-FC170FB637D4 
CrashReporter Key: 45d118e8a4be9b3163eab905af870f05dfddb12d 
OS Version:   iPhone OS 3.1.2 (7D11) 
Date:    2010-01-14 13:41:31 -0800 

Free pages:  309 
Wired pages:  12550 
Purgeable pages: 0 
Largest process: iConicCars 

Processes 
     Name     UUID     Count resident pages 
     iConicCars <851d264eb074e465891dcd67b67a8e79> 5641 (jettisoned) (active) 
     SCHelper <b87bd080a670f9512426e8721dc1f03c>  103 
      misd <a41e5d5f4b8922ab272c55df84aec4fd>  140 
    installd <620ede129454bcd824f0b6cec13b15d3>  212 
SpringBoard <c5c29b56a2bb445fc73203e03f67fa78> 1545 (jettisoned) (active) 
     iapd <fea164e93479b90e1dd39a293dd3865c>  251 (jettisoned) 
    syslogd <1cb3e9f2375fad9e345bd16655be4a50>  83 (jettisoned) 
mediaserverd <612fbbfa0546609cf6c6b13ae6f333cf>  302 (jettisoned) 
    BTServer <c940c4c7252113a7303cc1f7d1429c17>  345 
    lockdownd <171865bfe3725c3d5047df8c00ed5d77>  279 
    notifyd <d6b12a4e424e10e5ce91efd8d39f22af>  104 
    CommCenter <b1d6c4fe3ce2bc0374471196ab15b8d4>  151 
    configd <aae411e8289912124271f109ceee8f85>  264 
    fairplayd <cdce5393153c3d69d23c05de1d492bd4>  517 
    mDNSResponder <db98efaea94329959789f73a16f9f46e>  100 
    launchd <c5bc115d47313218505394f96770782a>  67 

**End** 

họ cho biết ngay cả sau khi khởi động lại, không có sự khác biệt. Heres kicker, nó hoạt động hoàn hảo trên iPhone 3GS của tôi, và trong giả lập với NO rò rỉ bộ nhớ.

Vì vậy, tôi phải làm gì?

UPDATE: [. Phiên bắt đầu lúc 2010/01/16 20:01:44 1300]

Log định trong mô phỏng GNU gdb 6.3.50-20050815 (Apple phiên bản gdb-1346) (Thứ Sáu 18 Tháng Chín 20:40:51 UTC 2009) Bản quyền 2004 Free Software Foundation, Inc. GDB là phần mềm miễn phí, được bao quát bởi Giấy phép Công cộng GNU, và bạn đang chào mừng bạn thay đổi nó và/hoặc phân phối các bản sao của nó dưới một số điều kiện nhất định. Nhập "hiển thị sao chép" để xem các điều kiện. Hoàn toàn không có bảo hành cho GDB. Nhập "hiển thị bảo hành" để biết chi tiết. GDB này được cấu hình như "x86_64-apple-darwin" .sharedlibrary áp tải-cai trị tất cả Gắn để xử lý 1152. dyld: không thể tải thư viện chèn vào: /usr/lib/libgmalloc.dylib

dữ liệu Định dạng tạm thời không khả dụng, sẽ thử lại sau khi 'tiếp tục'. cảnh báo: Không thể tìm thấy biểu tượng tối thiểu cho "_sigtramp" - backtraces có thể không đáng tin cậy Không thể truy cập bộ nhớ tại địa chỉ 0x0 Không thể truy cập bộ nhớ tại địa chỉ 0x0 (gdb)

+0

CẬP NHẬT: Tôi có 2,8 triệu hình ảnh được lưu trữ trong một mảng trong ứng dụng - điều này có tệ không? Tôi đã bị sa thải, và đã trải qua một ứng dụng tương tự, chỉ sử dụng những bức ảnh nhỏ hơn. –

+0

2.8MB trên hệ thống tệp (như trong kích thước JPG)? Bởi vì một khi được nạp, chúng lớn hơn rất nhiều trong bộ nhớ. Bạn có thể có ảnh lớn hơn nhưng có thể bạn cần phải làm lại ứng dụng của mình để chỉ tải hình ảnh khi cần. –

+0

thư mục hình ảnh trên màn hình nền là 2,8 meg. –

Trả lời

5

Như những người khác đã nói, bạn đang sử dụng quá nhiều bộ nhớ.

Nếu bạn đang sử dụng nhiều trang bộ điều khiển chế độ xem, hãy thử thử nghiệm đơn giản này - chạy ứng dụng của bạn bằng Công cụ ObjectAlloc. Click vào một cái gì đó để đưa ra một subview, bạn sẽ thấy tăng bộ nhớ của bạn - bây giờ bỏ qua cái nhìn đó và quay trở lại chính, bộ nhớ sẽ đi xuống. Nếu nó không, đó là vấn đề của bạn (hoặc một trong số họ anyway, nhưng đó là một điểm khởi đầu likley).

Để thử và theo dõi sự cố này, hãy đặt các điểm ngắt trong dealloc cho từng bộ điều khiển chế độ xem của bạn và xem những gì thực sự được gọi.Đối với các bộ điều khiển xem không được phát hành như bạn mong đợi, trong ObjectAlloc bạn có thể thấy vị trí của từng đối tượng được giữ lại và quyết định những gì giữ lại đối tượng khi nó không được thực hiện.

Nói chung luồng ObjectAlloc sẽ trông giống như biểu đồ đi lên và xuống mọi lúc, không tăng liên tục.

Ngoài ra nếu bạn đang sử dụng nhiều hình ảnh, hãy cân nhắc định cỡ lại kích thước chính xác mà bạn cần thay vì bắt đầu với kích thước và tỷ lệ lớn hơn nhiều. Sử dụng nhiều bộ nhớ đó phải do sử dụng hình ảnh và không giải phóng chúng. Rò rỉ sẽ không báo cáo bất cứ điều gì nếu bạn vẫn có tham chiếu đến bộ nhớ bạn đang giữ lại.

Ngoài ra, hãy mua một Touch cũ để thử nghiệm.

+0

"Ngoài ra nếu bạn đang sử dụng rất nhiều hình ảnh xem xét lại kích thước chúng với kích thước chính xác bạn cần thay vì bắt đầu với một kích thước lớn hơn nhiều và mở rộng quy mô." tôi nghĩ rằng đó có thể là vấn đề .. đọc nhận xét về câu hỏi tôi vừa viết. –

+0

Tôi đã nhận xét về điều đó. Có thực sự không có lý do bạn cần phải có tất cả họ tải mặc dù, bạn thực sự nên thay đổi nó để tải hình ảnh chỉ khi bạn cần chúng, và thoát khỏi những cái bạn không sử dụng. –

+0

Tôi vẫn muốn khuyên bạn nên có một Chạm để thử nó ... mặc dù tôi sẽ đặt cược đã giúp rất nhiều. Tôi rất vui vì có vẻ là vấn đề chính. –

3

Ứng dụng của bạn đã sử dụng quá nhiều bộ nhớ. Kiểm tra ứng dụng của bạn bằng các công cụ (Object Allocations hoặc Rò rỉ) và xem liệu bạn có thể giảm phân bổ bộ nhớ hay không.

+0

cách tốt để giảm phân bổ bộ nhớ là gì? và tốt nhất là để hệ thống quản lý nó (NSString * string = @ "hello";) hoặc tự làm như (NSString * string = [[NSString alloc] init];) –

+0

Đối với chuỗi, 'NSString * const string = @ "hello"; 'nếu có thể. Nếu bạn tự mình làm điều đó hãy nhớ '-giải thích' nó. – kennytm

2

Ứng dụng của bạn đang sử dụng cách, quá nhiều bộ nhớ. Nó sẽ không bao giờ chạy trên các thiết bị cũ với RAM 128 MB.

+1

bạn có thể chỉ định rằng bạn cần một thiết bị mới hơn để chạy nó? họ sẽ chỉ nhanh hơn và nhanh hơn. –

+0

Bạn có thực sự muốn giảm 10-20 triệu người trong số các hoạt động để mua ứng dụng của bạn khi bạn chỉ có thể dành thời gian tối ưu hóa và làm cho nó hoạt động cho tất cả mọi người? Đối với một trò chơi tôi có thể MAYBE thấy lập luận này nếu bạn chỉ muốn sử dụng các tính năng OpenGL mới nhất. –

+0

nah .. tôi sẽ thử tối ưu hóa nó. –

5

Xem "trang miễn phí: 309"? không tốt, có nghĩa là bạn đang sử dụng một bó bộ nhớ sau đó khi nó được sử dụng tất cả nó bị treo. Và các trang có thể xóa được = 0 là bộ nhớ không thể khôi phục được vì vậy đó là vấn đề về bộ nhớ.

Thực hiện "Tạo và phân tích" và chạy "Rò rỉ" để tìm rò rỉ bộ nhớ và các địa điểm bạn có thể chạy hiệu quả hơn.

+0

Tôi không có rò rỉ. Bộ nhớ ALl có vẻ là/chiếm/cho. –

3

iPhone 3GS của bạn và Trình mô phỏng có nhiều bộ nhớ hơn các thiết bị iPhone OS khác. Để hoạt động trên tất cả các thiết bị, bạn nên sử dụng không quá 20 MB bộ nhớ.

+0

làm thế nào để bạn biết liệu có bao nhiêu nó sử dụng bây giờ? –

+0

Bạn đã thử chạy các ứng dụng của mình trong Dụng cụ (Chạy -> Chạy với công cụ Hiệu suất ...) – kennytm

+0

vâng tôi có. và nghĩ là ổn với tôi. (mặc dù, đó không phải là nói nhiều) –

Các vấn đề liên quan