

Unityで開発を行っております。  
最大500MB以下の動画ファイルのアップロードを変数付きでアップロード行いたく下記のコードを作成しました。

[code]

    // ファイル読み込み
    byte[] l_file_data = File.ReadAllBytes( _path );
    string l_fileName = "hoge.mp4";
    
    var request = new UnityWebRequest( l_url, "POST");
    setRequest( request );
    // タイムアウト設定
    request.timeout = 300;
    
    List<IMultipartFormSection> requestData = new List<IMultipartFormSection>();
    requestData.Add( new MultipartFormFileSection( "file", l_file_data, l_fileName, "video/*" ) );
    
    if( 0 < user_id )
        requestData.Add( new MultipartFormDataSection( "user_id",               user_id.ToString() ) );
    if( 0 < player_id )
        requestData.Add( new MultipartFormDataSection( "player_id",             player_id.ToString() ) );
    if( 0 < group_id )
        requestData.Add( new MultipartFormDataSection( "group_id",              group_id.ToString() ) );
    if( 0 < team_id )
        requestData.Add( new MultipartFormDataSection( "team_id",               team_id.ToString() ) );
    if( 0 < game_id )
        requestData.Add( new MultipartFormDataSection( "game_id",               game_id.ToString() ) );
    
    if( !title.Equals( "" ) )
        requestData.Add( new MultipartFormDataSection( "title",                 System.Text.Encoding.UTF8.GetBytes( title ) ) );
    if( !comment.Equals( "" ) )
        requestData.Add( new MultipartFormDataSection( "comment",               System.Text.Encoding.UTF8.GetBytes( comment ) ) );
    
    byte[] boundary = UnityWebRequest.GenerateBoundary();
    byte[] formSections = UnityWebRequest.SerializeFormSections( requestData, boundary );
    
    // データ設定
    request.uploadHandler   = (UploadHandler) new UploadHandlerRaw( formSections );
    request.downloadHandler = (DownloadHandler) new DownloadHandlerBuffer();
     
    // ヘッダを設定
    request.SetRequestHeader("X-Requested-With", "XMLHttpRequest" );
    request.SetRequestHeader("Content-Type", "multipart/form-data; boundary="+System.Text.Encoding.UTF8.GetString(boundary) );
    request.SetRequestHeader( "Authorization", "Bearer "+ _access_token );
    // アプリ名、Ver、プラットフォーム
    request.SetRequestHeader("X-Escore-Env", "app="+APP_NAME+"; ver="+VER+"; os="+isOS() );
    
    yield return request.Send();
    
[/code]

こちらUnityエディター上や、動画容量の少ないファイルでしたらアップロードが出来るのですが、  
100MB以上のファイルになった際にiPadがハングしてしまいます。  
ハング内容は「EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=1850 mb unused=0x0)」になります。  
100MBの動画ファイルをアップしているのですが、メモリが800MB近く増えます。  
Windows エディター上ではこのような現象は発生しておりません。

こちらハングせずにアップロードする方法何かご存じでしょうか

環境  
Unity 2018.4.22f1

よろしくお願い致します。


CC BY-SA 4.0
2021-03-27T22:35:07.847
74935
2021-03-28T08:33:30.660
2021-03-28T08:33:30.660
29606
29606
question
ios unity2d
動画ファイルアップロード時にメモリリーク「EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=1850 mb unused=0x0)」になる