02-23-2017 10:25 AM
Salve,
in passato mi avete aiutato a risolvere dei problemi sulla share di alfresco, oggi voglio invece chiedervi dei suggerimenti su come risolvere un problema di OutOfMemoryError relativo all'invio di video di dimensioni superiori a 500Mb; l'invio dei video lo eseguo attraverso un'app Android che tramite un task asincrono si connette al repository:
-repoSession = RepositorySession.connect(url, username, password);
dopo aver ottenuto la sessione di alfresco eseguo una chiamata al repository:DocumentFolderService mDocumentFolderService = repoSession.getServiceRegistry().getDocumentFolderService();e sul riferimentomDocumentFolderService.createDocument(folder, mFile.getName(), mProperties, mContentFile);
ora quest'ultima chiamata mi genera l'errore
E/System: java.lang.OutOfMemoryError: Failed to allocate a 36 byte allocation with 0 free bytes and 0B until OOM
Ho fatto diverse ricerche e ho aggiunto nel file gradle l'istruzionedexOptions {
incremental = true;
javaMaxHeapSize "4g"
}
nel manifestandroid:largeHeap="true"e infine nel gradle.properties
android:allowBackup="true"
android:hardwareAccelerated="false"
android:supportsRtl="true"org.gradle.jvmargs=-Xmx2048m
non sono riuscito a risolvere il problema, forse dovrei intervenire sul progetto alfresco ma non so;
grazie in anticipo per eventuali suggerimenti
Pietro
03-02-2017 10:13 AM
Forse il metodo che usi per creare il contenuto non fa streaming del binario o comunque fa qualcosa in più poiché il client effettua operazioni atomiche.
Suggerirei di creare prima il contenuto vuoto e poi di provare ad effettuare l'upload del binario utilizzando il metodo updateContent:
updateContent | Alfresco Documentation
Altrimenti devi andare ad utilizzare direttamente l'API REST con una chiamata PUT direttamente dalla tua applicazione.
Spero ti aiuti a risolvere.
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.